[Xapian-discuss] how to retrieve filtering a single value ?

Richard Boulton richard at lemurconsulting.com
Mon May 19 10:20:13 BST 2008


Alessandro Pasotti wrote:
> I'm trying to retrieve data filtering by a single value but I've found only
> OP_VALUE_GE
> OP_VALUE_LE
> OP_VALUE_RANGE
> 
> Am I missing something or there is nothing like OP_VALUE_EQ ?

There is no OP_VALUE_EQ type operator at present.

> Should I use range "12..12" to retrieve docs where value is 12?

That will work, and is sometimes the right thing to do.  It's possible 
we should add an OP_VALUE_EQ, but for now the overhead of using 
OP_VALUE_RANGE instead should be minimal.

However, often, if you find yourself wanting to filter by a single 
value, it will actually be much quicker (at search time) to store a term 
instead of a value at index time, and use that term instead of an 
OP_VALUE_EQ.

For example, you'd might use the prefix "XV" for this term, so you'd 
store "XV12" in this case, and then use OP_FILTER to restrict your 
search results to only those documents containing "XV12".

-- 
Richard



More information about the Xapian-discuss mailing list