Thank you! -----Original Message----- From: Jack Krupansky [mailto:j...@basetechnology.com] Sent: Tuesday, July 02, 2013 3:05 PM To: solr-user@lucene.apache.org Subject: Re: How to query Solr for empty field or specific value
Better to define color.not_null as a boolean field and always initialize as either true or false. But, even without that you need write a pure negative query or clause as (*:* -term) So: select?q=*:*&fq=((*:* -color:[* TO *]) OR color:blue) and select?q=*:*&fq=((*:* -color.not_null:[* TO *]) OR color:blue) -- Jack Krupansky -----Original Message----- From: Van Tassell, Kristian Sent: Tuesday, July 02, 2013 3:47 PM To: solr-user@lucene.apache.org Subject: How to query Solr for empty field or specific value Hello, I'm using Solr 4.2 and am trying to get a specific value (blue) or null field (no color) returned by my filter query. My results should yield 3 documents (If I execute the two separate filters in different queries, I get 2 hits for one query and 1 for the other). I've tried this (blue or no color set): select?q=*:*&fq=(-color:[* TO *] OR color:blue) When that returned zero hits, I added a new field called "color.not_null" and am setting it only if a color is defined (thinking there was a problem with using the same field name). select?q=*:*&fq=(-color.not_null:[* TO *] OR color:blue) That too yielded zero results. Again, executing them separately does return hits (3). Does anyone see what I might be doing wrong? Thanks in advance, Kristian