lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ahmet Arslan <iori...@yahoo.com>
Subject Re: negative query OR positive query
Date Wed, 14 Apr 2010 16:35:47 GMT
> Using Solr 1.4 I wanted to construct a query that returns
> documents that
> have a particular field value or are missing the field. The
> first thing I
> came up with was:
> 
> field1:particularvalue OR -field1:[* TO *]
> 
> It turns out the -field1:[* TO *] was being ignored. If
> particularvalue
> wasn't found, for instance, it returned 0 hits.
> 
> Well after a lot of experimentation I found a query that
> works as expected:
> 
> field1:particularvalue OR (*:* AND -field1:[* TO *])
> 
> It seems like a hack though. Am I approaching this the
> wrong way? What's the
> recommended way for doing this type of search?

What you have found/done is correct way of doing this.

"When dealing with Lucene people are strongly encouraged to think in terms of MUST, MUST_NOT
and SHOULD (which are represented in the query parser as the prefixes "+", "-" and the default)
instead of in terms of AND, OR, and NOT ... Lucene's Boolean Queries (and thus Lucene's QueryParser)
is not a strict Boolean Logic system, so it's best not to try and think of it like one." [1]

[1] http://search-lucene.com/m/wEUvc10TfyQ/


      

Mime
View raw message