Hi Jay,
Anyone knowledgeable on how to get unique hits using the BooleanQuery?
If I have 2 queries so the when the 1st query is processed then the 2nd
query will not anymore return the same results from the 1st query.
Do you mean you want to run two separate queries -- get all the results
from query 1 first, then get the results which match query 2 but also
DON'T match query 1?
e.g. search for "fruit:apple", get back x records
then search for "colour:blue", get back records with 'blue' as a colour
but WITHOUT 'apple' as a fruit?
Do the first query as normal, then create a second BooleanQuery; add one
clause for "colour:blue", Occur.MUST, and then add the query from the
first search as a MUST_NOT.
Query q1 = new TermQuery(new Term("fruit", "apple"));
... run query, get back all apples ...
BooleanQuery q2 = new BooleanQuery();
q2.add(new TermQuery(new Term("colour", "blue")), Occur.MUST);
q2.add(q1, Occur.MUST_NOT);
... run query q2, get back all blue things that don't have apples ...
Cheers,
Paul
---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-user-h...@lucene.apache.org