Example #1
0
 def testJoin(self):
     remote = SynchronousRemote(host='localhost', port=self.httpPort, path='/remote')
     q = ComposedQuery('main', query=cqlToExpression('*'))
     q.addMatch(dict(core='main', uniqueKey=KEY_PREFIX+'field'), dict(core='main2', key=KEY_PREFIX+'field'))
     q.start=0
     q.stop=100
     q.addFilterQuery(core='main', query=cqlToExpression('field2=value0 OR field2=value1'))
     q.addFacet(core='main2', facet=dict(fieldname='untokenized.field2', maxTerms=5))
     response = remote.executeComposedQuery(query=q)
     self.assertEquals(19, response.total)
     self.assertEquals(set([
             'record:10', 'record:11', 'record:20', 'record:21', 'record:30',
             'record:31', 'record:40', 'record:41', 'record:50', 'record:51',
             'record:60', 'record:61', 'record:70', 'record:71', 'record:80',
             'record:81', 'record:90', 'record:91', 'record:100'
         ]), set([hit.id for hit in response.hits]))
     self.assertEquals([{
             'fieldname': 'untokenized.field2',
             'path': [],
             'terms': [
                 {'count': 27, 'term': 'value3'},
                 {'count': 22, 'term': 'value0'},
                 {'count': 19, 'term': 'value5'},
                 {'count': 19, 'term': 'value7'},
                 {'count': 19, 'term': 'value9'},
             ]
         }], response.drilldownData)