: Let me expound more on the question. Will the q1 be run on the : BooleanQuery q2 and append the results that are not equal to the result : of the first query of q2?
i really have no idea what you mean by: "q1 be run on the BooleanQuery q2" the query structure suggested will ensure that you only get results which match q2 and do not match q1 (per your request "then the 2nd query will not anymore return the same results from the 1st query") : 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 ... -Hoss --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org