Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def testTermQuery2(self):
term_query1 = querybuilder.get_term_query('inform', analyzer=get_lucene_analyzer(stemming=False))
term_query2 = querybuilder.get_term_query('retriev', analyzer=get_lucene_analyzer(stemming=False))
should = querybuilder.JBooleanClauseOccur['should'].value
boolean_query1 = querybuilder.get_boolean_query_builder()
boolean_query1.add(term_query1, should)
boolean_query1.add(term_query2, should)
bq1 = boolean_query1.build()
hits1 = self.searcher.search(bq1)
hits2 = self.searcher.search('information retrieval')
for h1, h2 in zip(hits1, hits2):
self.assertEqual(h1.docid, h2.docid)
self.assertEqual(h1.score, h2.score)
term_query1 = querybuilder.get_term_query('information')
term_query2 = querybuilder.get_term_query('retrieval')
boost1 = querybuilder.get_boost_query(term_query1, 2.)
boost2 = querybuilder.get_boost_query(term_query2, 2.)
should = querybuilder.JBooleanClauseOccur['should'].value
boolean_query = querybuilder.get_boolean_query_builder()
boolean_query.add(boost1, should)
boolean_query.add(boost2, should)
bq = boolean_query.build()
hits1 = self.searcher.search(bq)
boolean_query2 = querybuilder.get_boolean_query_builder()
boolean_query2.add(term_query1, should)
boolean_query2.add(term_query2, should)
bq2 = boolean_query2.build()
hits2 = self.searcher.search(bq2)
for h1, h2 in zip(hits1, hits2):
self.assertEqual(h1.docid, h2.docid)
self.assertAlmostEqual(h1.score, h2.score*2, delta=0.001)
boost3 = querybuilder.get_boost_query(term_query1, 2.)
boost4 = querybuilder.get_boost_query(term_query2, 3.)
boolean_query = querybuilder.get_boolean_query_builder()
boolean_query.add(boost3, should)
boolean_query.add(boost4, should)
def testIncompatabilityWithRM3(self):
should = querybuilder.JBooleanClauseOccur['should'].value
query_builder = querybuilder.get_boolean_query_builder()
query_builder.add(querybuilder.get_term_query('information'), should)
query_builder.add(querybuilder.get_term_query('retrieval'), should)
query = query_builder.build()
hits = self.searcher.search(query)
self.assertEqual(10, len(hits))
self.searcher.set_rm3()
self.assertTrue(self.searcher.is_using_rm3())
with self.assertRaises(NotImplementedError):
self.searcher.search(query)
def testTermQuery(self):
should = querybuilder.JBooleanClauseOccur['should'].value
query_builder = querybuilder.get_boolean_query_builder()
query_builder.add(querybuilder.get_term_query('information'), should)
query_builder.add(querybuilder.get_term_query('retrieval'), should)
query = query_builder.build()
hits1 = self.searcher.search(query)
hits2 = self.searcher.search('information retrieval')
for h1, h2 in zip(hits1, hits2):
self.assertEqual(h1.docid, h2.docid)
self.assertEqual(h1.score, h2.score)
def testBuildBoostedQuery(self):
term_query1 = querybuilder.get_term_query('information')
term_query2 = querybuilder.get_term_query('retrieval')
boost1 = querybuilder.get_boost_query(term_query1, 2.)
boost2 = querybuilder.get_boost_query(term_query2, 2.)
should = querybuilder.JBooleanClauseOccur['should'].value
boolean_query = querybuilder.get_boolean_query_builder()
boolean_query.add(boost1, should)
boolean_query.add(boost2, should)
bq = boolean_query.build()
hits1 = self.searcher.search(bq)
boolean_query2 = querybuilder.get_boolean_query_builder()
boolean_query2.add(term_query1, should)
boolean_query2.add(term_query2, should)
bq2 = boolean_query2.build()
hits2 = self.searcher.search(bq2)
for h1, h2 in zip(hits1, hits2):
self.assertEqual(h1.docid, h2.docid)
self.assertAlmostEqual(h1.score, h2.score*2, delta=0.001)