此示例代码的目标是了解如何创建由多个筛选器和查询组成的查询。
下面的示例不像预期的那样工作。
有什么建议来澄清这个问题吗?
#!/usr/bin/python
import pyes
conn = pyes.ES('sandbox:9200')
conn.index('{"test":{"field1":"value1","field2":"value2"}}','2012.9.23','test')
filter = pyes.filters.BoolFilter()
filter.add_must(pyes.filters.LimitFilter(1))
filter.add_must(pyes.filters.ExistsFilter('test')) #uncommenting this line returns the documents
query = pyes.query.BoolQuery()
query.add_must(pyes.query.TextQuery('test.field1','value1'))
query.add_must(pyes.query.TextQuery('test.field2','value2'))
search = pyes.query.FilteredQuery(query, filter)
for reference in conn.search(query=search,indices=['2012.9.23']):
print reference发布于 2012-09-26 09:50:53
我不使用派斯(也不是蟒蛇)。但是,我在这里看到的是,如果我将ExistsFilter文档与ExistsFilter文档相比,可能会遗漏一些信息:
{
"constant_score" : {
"filter" : {
"exists" : { "field" : "user" }
}
}
}会不会是你的问题?
https://stackoverflow.com/questions/12561837
复制相似问题