Use OP_ELITE_SET rather than OP_OR in more_like_this.

Because performance is really bad when using OP_OR with a large database.
This commit is contained in:
Sym Roe 2010-05-26 04:56:59 +08:00 committed by David Sauve
parent f83742485b
commit e4707203f4

View file

@ -470,7 +470,7 @@ class SearchBackend(BaseSearchBackend):
for match in self._get_enquire_mset(database, enquire, 0, end_offset):
rset.add_document(match.docid)
query = xapian.Query(xapian.Query.OP_OR,
query = xapian.Query(xapian.Query.OP_ELITE_SET,
[expand.term for expand in enquire.get_eset(match.document.termlist_count(), rset, XHExpandDecider())]
)
query = xapian.Query(