def test_search_document_with_exclude(self): self.zapian.add_document(self.parts[0], uid="12345", index=self.doc, flush=True) new_doc = self.doc.copy() new_doc['title'] = 'new title' self.zapian.add_document(self.parts[0], uid="12346", index=new_doc, flush=True) query = Query(self.zapian.schema) query.filter('subjects', u'file', 'anyof') results = self.zapian.search([self.parts[0]], query_obj=query) self.assertEqual(set(results), set(['12345', '12346'])) query.exclude('title', u'new', 'anyof') results = self.zapian.search([self.parts[0]], query_obj=query) self.assertEqual(results, ['12345'])
def test_multi_query(self): self.zapian.add_document(self.parts[0], uid="12345", index=self.doc, flush=True) new_doc = self.doc.copy() new_doc['+title'] = 'we talk' self.zapian.add_document(self.parts[0], uid="12346", index=new_doc, flush=True) query1 = Query(self.zapian.schema) query1.filter('title', u'we talk', 'anyof') query2 = Query(self.zapian.schema) query2.filter('title', u'are', '') combined = query2 & query1 results = self.zapian.search([self.parts[0]], query_obj=combined) self.assertEqual(results, ['12345']) combined = query2 | query1 results = self.zapian.search([self.parts[0]], query_obj=combined) self.assertEqual(set(results), set(['12345', '12346']))