I have the following code for search:

BooleanQuery bQuery = new BooleanQuery();
Query queryAuthor;
queryAuthor = new TermQuery(new Term(IFIELD_LEAD_AUTHOR,
author.trim().toLowerCase()));
bQuery.add(queryAuthor, BooleanClause.Occur.MUST);
....................................................................
....................................................................

PhraseQuery pQuery = new PhraseQuery();
String[] phrase = txtWithPhrase.toLowerCase().split(" ");
for (int i = 0; i < phrase.length; i++) {
        pQuery.add(new Term(IFIELD_TEXT, phrase[i]));
}
pQuery.setSlop(0);
bQuery.add(pQuery, BooleanClause.Occur.MUST);
....................................................................
....................................................................

String[] sortOrder = {IFIELD_LEAD_AUTHOR, IFIELD_TEXT};
Sort sort = new Sort(sortOrder);
hits = indexSearcher.search(bQuery, sort);

Now My problem here is: If I do a search on a phrase with text Health
Safety, it is fetching me all the records where in the text is Health
and/or/in Safety. It is fetching me these records even after setting the
slop of the phrase query to zero for exact match. I am using standard
analyzer while indexing my records.

Any help on this is greatly appreciated. 

Sirish Vadala
-- 
View this message in context: 
http://www.nabble.com/Phrase-Query-Problem-tp14373945p14373945.html
Sent from the Lucene - Java Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to