lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Hatcher <e...@ehatchersolutions.com>
Subject Re: Boolean Phrase Query question
Date Sat, 03 Apr 2004 19:57:21 GMT
On Apr 3, 2004, at 12:13 PM, Ankur Goel wrote:
>
> Hi,
> I have to provide a functionality which provides search on both file 
> name
> and contents of the file.
>
> For indexing I use the following code:
>
>
> org.apache.lucene.document.Document doc = new org.apache.
> lucene.document.Document();
> doc.add(Field.Keyword("fileId","" + document.getFileId()));
> doc.add(Field.Text("fileName",fileName);
> doc.add(Field.Text("contents", new FileReader(new File(fileName)));

I'm not sure what you plan on doing with the fileName field, but you 
probably want to use a Keyword field for it.

And you may want to glue the file name and contents together into a 
single field to facilitate searches to span both.  (be sure to put a 
space in between if you do this)

> For searching a text say  "temp" I use the following code to look both 
> in
> file Name and contents of the file:
>
> BooleanQuery finalQuery = new BooleanQuery();
> Query titleQuery = QueryParser.parse("temp","fileName",analyzer);
> Query mainQuery = QueryParser.parse("temp","contents",analyzer);
>
> finalQuery.add(titleQuery, true, false);
> finalQuery.add(mainQuery, true, false);
>
> Hits hits = is.search(finalQuery);

By using true on the finalQuery.add calls, you have said that both 
fields must have the word "temp" in them.  Is that what you meant?  Or 
did you mean an OR type of query?

	Erik



---------------------------------------------------------------------
To unsubscribe, e-mail: lucene-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-user-help@jakarta.apache.org


Mime
View raw message