Added support for additional_query_string in mlt

This commit is contained in:
David Sauve 2009-08-14 19:06:23 -04:00
parent 051fe7ddd4
commit d31a875b46
2 changed files with 8 additions and 1 deletions

View File

@ -262,6 +262,10 @@ class XapianSearchBackendTestCase(TestCase):
results = self.sb.more_like_this(self.sample_objs[0])
self.assertEqual(results['hits'], 2)
self.assertEqual([result.pk for result in results['results']], [3, 2])
results = self.sb.more_like_this(self.sample_objs[0], additional_query_string='david3')
self.assertEqual(results['hits'], 1)
self.assertEqual([result.pk for result in results['results']], [3])
def test_document_count(self):
self.sb.update(self.msi, self.sample_objs)

View File

@ -410,8 +410,11 @@ class SearchBackend(BaseSearchBackend):
xapian.Query.OP_AND_NOT, [query, self.get_identifier(model_instance)]
)
if additional_query_string:
additional_query, __unused__ = self._query(
database, additional_query_string
)
query = xapian.Query(
xapian.Query.OP_AND, [query, self._query(database, additional_query_string)]
xapian.Query.OP_AND, query, additional_query
)
enquire.set_query(query)