The *:* (star colon star) means "all records". The trick is to use (*:* AND
-field:[* TO *]). It's silly, but there it is.

A performance note: we switched from empty fields to fields with a standard
'empty' value. This way we don't have to do a range check to find records
with empty fields.

Lance Norskog

-----Original Message-----
From: Karen Loughran [mailto:[EMAIL PROTECTED] 
Sent: Monday, January 14, 2008 7:51 AM
To: solr-user@lucene.apache.org
Cc: Erick Erickson
Subject: Re: field:(-null) returns records where field was not specified


Hi Erik, thanks for your reply,

I had read this page.  But I'm not using the "NOT" operator,  I'm using the
"-" operator.  I'm assuming there is a subtle difference between them in
that NOT qualifies something else, hence needs 2 terms.  Isn't the "-" 
operator supposed to be a complement to the "+" operator, ie. excludes
something rather than requiring it ?

thanks
Karen



On Monday 14 January 2008 15:14:05 Erick Erickson wrote:
> Have you seen this page?
> http://lucene.apache.org/java/docs/queryparsersyntax.html
>
> From that page:
> Note: The NOT operator cannot be used with just one term. For example, 
> the following search will return no results:
> NOT "jakarta apache"
>
>
> Erick
>
> On Jan 14, 2008 9:30 AM, Karen Loughran <[EMAIL PROTECTED]> wrote:
> > Hi all,
> >
> > We are indexing different types of documents, some with certain 
> > fields set and some without, some fields sometimes in both.
> >
> > If a particular field is missing in a newly added record, I would 
> > have expected the query:
> >
> > field_name:(-null)
> >
> > not to return this particular record in the response, ie, I'm 
> > assuming the field is set to null.
> >
> > But the response we see includes empty docs:
> >
> > ......
> > ....
> > ..
> > <doc>
> >  </doc>
> > <doc>
> >  </doc>
> > <doc>
> >  </doc>
> > etc, etc....
> > ..
> > ....
> >
> > Can someone explain why field_name:(-null) returns the records where 
> > field_name is missing ?
> >
> > We note that if we do the range operation we can get a response 
> > without the records with no field_name:
> >
> > field_name:[* TO *]
> >
> > Many thanks
> > Karen



No virus found in this incoming message.
Checked by AVG Free Edition. 
Version: 7.5.516 / Virus Database: 269.19.0/1218 - Release Date: 1/10/2008
1:32 PM
 

Reply via email to