Inner purely negative clauses aren't allowed by Lucene.  (Solr supports 
top-level negative clauses, though, so <q=NOT foo> works as expected)

To get a nested negative clause to work, try this:

    q=tag_id:(1 AND 2) OR (*:* AND -tag_id:1)



On May 13, 2013, at 16:11 , Arun Rangarajan wrote:

> 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?

Reply via email to