Esempio n. 1
0
    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'])
Esempio n. 2
0
    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']))