Thanks. That actually make perfect sense. I was thinking that the problem was 
somehow more complicated than a simple precision problem. These are all dynamic 
fields, so I rarely look at the schema. I'll change the precision in the schema 
and then reindex. Hopefully that clears out the problem.

----- Original Message ----
From: Yonik Seeley <[EMAIL PROTECTED]>
To: solr-user@lucene.apache.org
Sent: Thursday, June 14, 2007 5:30:04 PM
Subject: Re: facet query counts

A 32 bit float has about 7 decimal digits of precision, so your range
queries actually do overlap since 4000000000f is exactly the same as
3999999999f

-Yonik

On 6/14/07, Kevin Osborn <[EMAIL PROTECTED]> wrote:
> I have a large subset (47640) of my total index. Most of them (45335) have a 
> single field, which we will call Field1. Field1 is a sfloat.
>
> If my query restricts the resultset to my subset and I do a facet count on 
> Field1, then the number of records returned is 47640. And if I sum up the 
> facet counts, it adds to 45335. So far, so good. But, I really want to do 
> range queries on Field1. So, I use facet.query to split Field1 into 5 ranges.
>
> So,
>
> &facet.query=Field1%3A%5B4000000000+TO+*%5D
> &facet.query=Field1%3A%5B3000000000+TO+3999999999.9%5D
> &facet.query=Field1%3A%5B2000000000+TO+2999999999.9%5D
> &facet.query=Field1%3A%5B1000000000+TO+1999999999.9%5D
> &facet.query=Field1%3A%5B*+TO+999999999.9%5D
>
> Now, if I sum up the counts, it adds to 54697. I can't find where this number 
> comes from. If I have open-ended ranges on both my high and low end, 
> shouldn't the sum of facet.query equal the sum of a normal facet count? And 
> if a record never has more than one instance of Field1, how can the sum be 
> greater than the total record set?
>
> And this problem seems to occur in most (if not all) of my range queries. Is 
> there anything that I am doing wrong here?




Reply via email to