Hi Paul, But will the q1 be run on the BooleanQuery q2 or q1 is just used for filtering?
Regards, Jay Malaluan ________________________________ From: Paul Cowan <co...@aconex.com> To: java-user@lucene.apache.org Sent: Wednesday, December 17, 2008 1:37:15 PM Subject: Re: Unique results in BooleanQuery 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