本文整理汇总了Python中meresco.lucene.composedquery.ComposedQuery.addMatch方法的典型用法代码示例。如果您正苦于以下问题:Python ComposedQuery.addMatch方法的具体用法?Python ComposedQuery.addMatch怎么用?Python ComposedQuery.addMatch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类meresco.lucene.composedquery.ComposedQuery
的用法示例。
在下文中一共展示了ComposedQuery.addMatch方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testJoinQueryWithFilters
# 需要导入模块: from meresco.lucene.composedquery import ComposedQuery [as 别名]
# 或者: from meresco.lucene.composedquery.ComposedQuery import addMatch [as 别名]
def testJoinQueryWithFilters(self):
q = ComposedQuery('coreA')
q.addFilterQuery('coreB', query=luceneQueryFromCql('N=true'))
q.addMatch(dict(core='coreA', uniqueKey=KEY_PREFIX+'A'), dict(core='coreB', key=KEY_PREFIX+'B'))
result = returnValueFromGenerator(self.dna.any.executeComposedQuery(q))
self.assertEquals(4, result.total)
self.assertEquals(set(['A-M', 'A-MU', 'A-MQ', 'A-MQU']), self.hitIds(result.hits))
示例2: testRemoteExecuteQuery
# 需要导入模块: from meresco.lucene.composedquery import ComposedQuery [as 别名]
# 或者: from meresco.lucene.composedquery.ComposedQuery import addMatch [as 别名]
def testRemoteExecuteQuery(self):
http = CallTrace('http')
def httppost(*args, **kwargs):
raise StopIteration('HTTP/1.0 200 Ok\r\n\r\n%s' % LuceneResponse(total=5, hits=[Hit("1"), Hit("2"), Hit("3", duplicateCount=2), Hit("4"), Hit("5")]).asJson())
yield
http.methods['httppost'] = httppost
remote = LuceneRemote(host='host', port=1234, path='/path')
observable = Observable()
observable.addObserver(remote)
remote._httppost = http.httppost
cq = ComposedQuery('coreA')
cq.setCoreQuery(
core='coreA',
query=parseString('query AND field=value'),
filterQueries=[parseString('query=fiets')],
facets=[{'fieldname': 'field', 'maxTerms':5}],
)
cq.setCoreQuery(core='coreB', query=parseString('query=test'))
cq.addMatch(dict(core='coreA', uniqueKey='keyA'), dict(core='coreB', key='keyB'))
result = returnValueFromGenerator(observable.any.executeComposedQuery(query=cq))
self.assertEquals(5, result.total)
self.assertEquals([Hit("1"), Hit("2"), Hit("3", duplicateCount=2), Hit("4"), Hit("5")], result.hits)
self.assertEquals(['httppost'], http.calledMethodNames())
m = http.calledMethods[0]
self.assertEquals('host', m.kwargs['host'])
self.assertEquals(1234, m.kwargs['port'])
self.assertEquals('/path/__lucene_remote__', m.kwargs['request'])
self.assertEquals('application/json', m.kwargs['headers']['Content-Type'])
message, kwargs = Conversion().jsonLoadMessage(m.kwargs['body'])
query = kwargs['query']
self.assertEquals('executeComposedQuery', message)
self.assertEquals('coreA', query.resultsFrom)
self.assertEquals([{'fieldname': 'field', 'maxTerms':5}], query.facetsFor('coreA'))
示例3: testKeyName
# 需要导入模块: from meresco.lucene.composedquery import ComposedQuery [as 别名]
# 或者: from meresco.lucene.composedquery.ComposedQuery import addMatch [as 别名]
def testKeyName(self):
cq = ComposedQuery('coreA')
cq.addMatch(dict(core='coreA', uniqueKey='keyA'), dict(core='coreB', key='keyB'))
cq.addFacet(core='coreB', facet='F0')
self.assertEquals('keyA', cq.keyName('coreA', 'coreB'))
self.assertEquals('keyB', cq.keyName('coreB', 'coreA'))
self.assertEquals(set(['keyA']), cq.keyNames('coreA'))
示例4: testJoinFacetAndQuery
# 需要导入模块: from meresco.lucene.composedquery import ComposedQuery [as 别名]
# 或者: from meresco.lucene.composedquery.ComposedQuery import addMatch [as 别名]
def testJoinFacetAndQuery(self):
q = ComposedQuery('coreA')
q.setCoreQuery(core='coreA', query=None)
q.setCoreQuery(core='coreB', query=luceneQueryFromCql('N=true'), facets=[
dict(fieldname='cat_N', maxTerms=10),
dict(fieldname='cat_O', maxTerms=10),
])
q.addMatch(dict(core='coreA', uniqueKey=KEY_PREFIX + 'A'), dict(core='coreB', key=KEY_PREFIX + 'B'))
result = returnValueFromGenerator(self.dna.any.executeComposedQuery(query=q))
self.assertEquals(4, result.total)
self.assertEquals(set(['A-M', 'A-MU', 'A-MQ', 'A-MQU']), self.hitIds(result.hits))
self.assertEquals([{
'terms': [
{'count': 4, 'term': u'true'},
],
'path': [],
'fieldname': u'cat_N'
}, {
'terms': [
{'count': 2, 'term': u'true'},
{'count': 2, 'term': u'false'},
],
'path': [],
'fieldname': u'cat_O'
}], result.drilldownData)
示例5: testKeyName
# 需要导入模块: from meresco.lucene.composedquery import ComposedQuery [as 别名]
# 或者: from meresco.lucene.composedquery.ComposedQuery import addMatch [as 别名]
def testKeyName(self):
composedQuery = ComposedQuery('coreA')
composedQuery.setCoreQuery(core='coreA', query=None)
composedQuery.setCoreQuery(core='coreB', query=None)
composedQuery.addMatch(dict(core='coreA', uniqueKey='keyA'), dict(core='coreB', key='keyB'))
self.assertEquals('keyA', composedQuery.keyName('coreA'))
self.assertEquals('keyB', composedQuery.keyName('coreB'))
示例6: testInfoOnQuery
# 需要导入模块: from meresco.lucene.composedquery import ComposedQuery [as 别名]
# 或者: from meresco.lucene.composedquery.ComposedQuery import addMatch [as 别名]
def testInfoOnQuery(self):
self.response = JsonDict({"total": 887, "queryTime": 6, "hits": [{"id": "record:1", "score": 0.1234}]}).dumps()
q = ComposedQuery("coreA")
q.addFilterQuery("coreB", query="N=true")
q.addMatch(dict(core="coreA", uniqueKey="A"), dict(core="coreB", key="B"))
result = retval(self._multiLucene.executeComposedQuery(q))
self.assertEquals(
{
"query": {
"cores": ["coreB", "coreA"],
"drilldownQueries": {},
"facets": {},
"filterQueries": {"coreB": ["N=true"]},
"matches": {"coreA->coreB": [{"core": "coreA", "uniqueKey": "A"}, {"core": "coreB", "key": "B"}]},
"otherCoreFacetFilters": {},
"queries": {},
"rankQueries": {},
"resultsFrom": "coreA",
"sortKeys": [],
"unites": [],
},
"type": "ComposedQuery",
},
result.info,
)
示例7: testAddTypeAndMissingValueToSortField
# 需要导入模块: from meresco.lucene.composedquery import ComposedQuery [as 别名]
# 或者: from meresco.lucene.composedquery.ComposedQuery import addMatch [as 别名]
def testAddTypeAndMissingValueToSortField(self):
self.response = JsonDict({
"total": 887,
"queryTime": 6,
"hits": [{"id": "record:1", "score": 0.1234}]
}).dumps()
cq = ComposedQuery('coreA')
q = QueryExpressionToLuceneQueryDict([], LuceneSettings()).convert(cqlToExpression("field=value"))
cq.setCoreQuery('coreB', q)
cq.sortKeys = [dict(sortBy='sortField', core='coreA', sortDescending=True)]
cq.addMatch(dict(core='coreA', uniqueKey='A'), dict(core='coreB', key='B'))
consume(self._multiLucene.executeComposedQuery(cq))
self.assertEqual({
"_sortKeys": [{'core': 'coreA', 'sortBy': 'sortField', 'sortDescending': True, 'type': 'String', 'missingValue': 'STRING_FIRST'}],
"resultsFrom": "coreA",
'_matches': {'coreA->coreB': [{'core': 'coreA', 'uniqueKey': 'A'}, {'core': 'coreB', 'key': 'B'}]},
"_facets": {},
"_otherCoreFacetFilters": {},
"_rankQueries": {},
"_drilldownQueries": {},
"_unites": [],
'_queries': {'coreB': {'term': {'field': 'field', 'value': 'value'}, 'type': 'TermQuery'}},
"cores": ["coreB", "coreA"],
"_filterQueries": {}
}, loads(self.post[0]['data']))
示例8: XXX_NOT_YET_IMPLEMENTED_testRankQueryInSingleCoreQuery
# 需要导入模块: from meresco.lucene.composedquery import ComposedQuery [as 别名]
# 或者: from meresco.lucene.composedquery.ComposedQuery import addMatch [as 别名]
def XXX_NOT_YET_IMPLEMENTED_testRankQueryInSingleCoreQuery(self):
q = ComposedQuery('coreA', query=MatchAllDocsQuery())
q.addMatch(dict(core='coreA', uniqueKey=KEY_PREFIX+'A'), dict(core='coreB', key=KEY_PREFIX+'B'))
q.setRankQuery(core='coreA', query=luceneQueryFromCql('Q=true'))
result = returnValueFromGenerator(self.dna.any.executeComposedQuery(q))
self.assertEquals(8, result.total)
self.assertEquals([u'A-Q', u'A-QU', u'A-MQ', u'A-MQU', u'A', u'A-U', u'A-M', u'A-MU'], [hit.id for hit in result.hits])
示例9: testJoinQueryOnOptionalKeyOtherSide
# 需要导入模块: from meresco.lucene.composedquery import ComposedQuery [as 别名]
# 或者: from meresco.lucene.composedquery.ComposedQuery import addMatch [as 别名]
def testJoinQueryOnOptionalKeyOtherSide(self):
q = ComposedQuery('coreA')
q.setCoreQuery(core='coreB', query=luceneQueryFromCql('N=true'))
q.addMatch(dict(core='coreA', uniqueKey=KEY_PREFIX+'A'), dict(core='coreB', key=KEY_PREFIX+'D'))
result = returnValueFromGenerator(self.dna.any.executeComposedQuery(q))
self.assertEquals(1, result.total)
self.assertEquals(set(['A-M']), self.hitIds(result.hits))
示例10: testAsDictFromDict
# 需要导入模块: from meresco.lucene.composedquery import ComposedQuery [as 别名]
# 或者: from meresco.lucene.composedquery.ComposedQuery import addMatch [as 别名]
def testAsDictFromDict(self):
cq = ComposedQuery('coreA')
cq.setCoreQuery(core='coreA', query='Q0')
cq.addFilterQuery(core='coreA', query='Q1')
cq.addFilterQuery(core='coreA', query='Q2')
cq.addFacet(core='coreA', facet='F0')
cq.addFacet(core='coreA', facet='F1')
cq.setCoreQuery(core='coreB', query='Q3')
cq.addMatch(dict(core='coreA', uniqueKey='keyA'), dict(core='coreB', key='keyB'))
cq.addUnite(dict(core='coreA', query='AQuery'), dict(core='coreB', query='anotherQuery'))
cq.start = 0
cq.sortKeys = [dict(sortBy='field', sortDescending=True)]
cq.clustering = True
cq.clusteringConfig = {'clusteringEps': 0.2}
d = cq.asDict()
cq2 = ComposedQuery.fromDict(d)
self.assertEquals('coreA', cq2.resultsFrom)
self.assertEquals(0, cq2.start)
self.assertEquals(None, cq2.stop)
self.assertEquals(['Q0', 'Q1', 'Q2'], cq2.queriesFor('coreA'))
self.assertEquals(['F0', 'F1'], cq2.facetsFor('coreA'))
self.assertEquals('keyA', cq2.keyName('coreA', 'coreB'))
self.assertEquals('keyB', cq2.keyName('coreB', 'coreA'))
self.assertEqual(1, len(cq2.unites))
queries = list(cq2.unites[0].queries())
self.assertEquals(({'core': 'coreA', 'keyName': 'keyA', 'query': 'AQuery'}, 'keyA'), queries[0])
self.assertEquals(({'core': 'coreB', 'keyName': 'keyB', 'query': 'anotherQuery'}, 'keyA'), queries[1])
self.assertEquals({'clusteringEps': 0.2}, cq2.clusteringConfig)
示例11: testUniteMakesItTwoCoreQuery
# 需要导入模块: from meresco.lucene.composedquery import ComposedQuery [as 别名]
# 或者: from meresco.lucene.composedquery.ComposedQuery import addMatch [as 别名]
def testUniteMakesItTwoCoreQuery(self):
cq = ComposedQuery('coreA')
cq.addMatch(dict(core='coreA', uniqueKey='keyA'), dict(core='coreB', key='keyB'))
cq.setCoreQuery('coreA', query='A')
cq.addUnite(dict(core='coreA', query='Q5'), dict(core='coreB', query='Q6'))
cq.validate()
self.assertEquals(set(['coreA', 'coreB']), cq.cores)
示例12: testIsSingleCoreQuery
# 需要导入模块: from meresco.lucene.composedquery import ComposedQuery [as 别名]
# 或者: from meresco.lucene.composedquery.ComposedQuery import addMatch [as 别名]
def testIsSingleCoreQuery(self):
cq = ComposedQuery('coreA')
cq.addMatch(dict(core='coreA', uniqueKey='keyA'), dict(core='coreB', key='keyB'))
cq.setCoreQuery('coreA', query='A')
self.assertTrue(cq.isSingleCoreQuery())
cq.addUnite(dict(core='coreA', query='Q5'), dict(core='coreB', query='Q6'))
self.assertFalse(cq.isSingleCoreQuery())
示例13: testUnite
# 需要导入模块: from meresco.lucene.composedquery import ComposedQuery [as 别名]
# 或者: from meresco.lucene.composedquery.ComposedQuery import addMatch [as 别名]
def testUnite(self):
cq = ComposedQuery('coreA')
cq.setCoreQuery(core='coreA', query=None)
cq.setCoreQuery(core='coreB', query=None)
cq.addMatch(dict(core='coreA', uniqueKey='keyA'), dict(core='coreB', key='keyB'))
cq.addUnite(dict(core='coreA', query='AQuery'), dict(core='coreB', query='anotherQuery'))
self.assertEquals([('coreA', 'AQuery'), ('coreB', 'anotherQuery')], cq.unites)
示例14: testAddOtherCoreFacetFilter
# 需要导入模块: from meresco.lucene.composedquery import ComposedQuery [as 别名]
# 或者: from meresco.lucene.composedquery.ComposedQuery import addMatch [as 别名]
def testAddOtherCoreFacetFilter(self):
cq = ComposedQuery('coreA')
cq.addOtherCoreFacetFilter('coreB', 'field=value')
self.assertValidateRaisesValueError(cq, "No match set for cores ('coreA', 'coreB')")
cq.addMatch(dict(core='coreA', uniqueKey='kA'), dict(core='coreB', key='kB'))
self.assertEquals(['field=value'], cq.otherCoreFacetFiltersFor('coreB'))
cq.convertWith(coreB=lambda q: "converted_" + q)
self.assertEquals(['converted_field=value'], cq.otherCoreFacetFiltersFor('coreB'))
示例15: testUniteMakesItTwoCoreQuery
# 需要导入模块: from meresco.lucene.composedquery import ComposedQuery [as 别名]
# 或者: from meresco.lucene.composedquery.ComposedQuery import addMatch [as 别名]
def testUniteMakesItTwoCoreQuery(self):
q = ComposedQuery('coreA')
q.setCoreQuery(core='coreA', query=luceneQueryFromCql('Q=true'))
q.addMatch(dict(core='coreA', uniqueKey=KEY_PREFIX+'A'), dict(core='coreB', key=KEY_PREFIX+'B'))
q.addUnite(dict(core='coreA', query=luceneQueryFromCql('U=true')), dict(core='coreB', query=luceneQueryFromCql('N=true')))
result = returnValueFromGenerator(self.dna.any.executeComposedQuery(q))
self.assertEquals(3, result.total)
self.assertEquals(set(['A-QU', 'A-MQ', 'A-MQU']), self.hitIds(result.hits))