Pure negative queries only work at the top level.
So, try:
q=(tag_id:(1 AND 2) OR tag_id:(*:* NOT 1))
-- Jack Krupansky
-----Original Message-----
From: Arun Rangarajan
Sent: Monday, May 13, 2013 4:11 PM
To: solr-user@lucene.apache.org
Subject: Solr Boolean query help
I am trying to form a Solr query. Our documents have a multi-valued field
named tag_id. I want to get documents that either do not have tag_id 1 or
have both tag_id 1 and 2 i.e.
q=(tag_id:(1 AND 2) OR tag_id:(NOT 1))
This is not giving the desired results. The result is the same as that of
q=tag_id:(1 AND 2)
and the OR condition is ignored.
How would one do this query?