[Xapian-discuss] Sorting and comparing

Olly Betts olly at survex.com
Mon Sep 26 00:42:34 BST 2005


On Sat, Sep 17, 2005 at 02:17:47PM +0200, Floris Bos wrote:
> When I do this for an integer field that can be 4 number at max (0000 to 
> 9999) a lot of terms are generated indeed. I'll see what the effect on the 
> db size is but I'm also worried about query processing time. When I do a 
> search on documents between (example) 7243 and 8546 I'll have to pass about 
> 35 boolean filter parameters to filter out the correct results. Isn't this 
> going to affect performance dramatically when this type of searches are 
> carried out frequently?

Probably not - the matcher does a pretty good job of processing large
queries efficiently.

> Are there any plans on implementing range searches in Omega, in a way 
> that's more efficient than generating boolean terms and filter on that?

No particular plans, but it's probably something that people will
generally find useful, and shouldn't be too hard to add.  Feel free
to file a wishlist bug in the bug tracker.

I think it would make more sense to implement generic range support
using a MatchDecider rather than generating lots of terms.  It
requires much less index time support for one thing.  And once the flint
backend has progressed a bit further, use of values for this sort of
thing will probably be more efficient than using lots of boolean terms
(this may already be the case - I've not run timed tests) and give match
statistics of similar reliability.

Using a value also allows range searching and sorting on the same
quantity with no extra storage.

Cheers,
    Olly



More information about the Xapian-discuss mailing list