This may help: http://lucene.apache.org/java/2_4_0/queryparsersyntax.html#Boolean%20operators
But the clause you specified translates roughly as "find all the documents that contain R, then remove any of them that match "* TO *". * TO * contains all the documents with R, so everything you just matched is removed from your results. HTH Erick On Tue, Jun 29, 2010 at 12:40 PM, Sascha Szott <sz...@zib.de> wrote: > Hi Ahmet, > > it works, thanks a lot! > > To be true I have no idea what's the problem with > defType=lucene&q.op=OR&df=topic&q=R NOT [* TO *] > > -Sascha > > > Ahmet Arslan wrote: > >> I have a (multi-valued) field topic in my index which does >>> not need to exist in every document. Now, I'm struggling >>> with formulating a query that returns all documents that >>> either have no topic field at all *or* whose topic field >>> value is R. >>> >> >> Does this work? >> &defType=lucene&q.op=OR&q=topic:R (+*:* -topic:[* TO *]) >> >>