use xapian.Query.OP_VALUE_RANGE or use xapian.MatchDecider?

张少华 xiangqianzsh at
Thu Jan 11 09:11:20 GMT 2018

HI, We have an index database of products, about 20 million. We had constructed the title and description of products into posting list, and also stored some values of properties into slot, such as the price, comment count, production date, click number of the products.

Now we want select some products which satisties specific condition, such as contain the term of "shirt" and "white", and "price <= 500" and "comment count >= 100", "1000 <= click_number <= 2000".

And we have two methods:
1, use xapian.Query for terms and xapian.Query.OP_VALUE_RANGE to filter the value.
2, use xapian.Query for terms to get candidates, then use xapian.MatchDecider to filter the value.

Which method get a better performance?

More information about the Xapian-discuss mailing list