このサンプルコードの目的は、複数のフィルターとクエリで構成されるクエリを作成する方法を理解することです。
以下の例は期待どおりに機能していません。
- 特定の「キー」を含むドキュメントでのみ検索を実行できるようにしたい。ExistsFilterを使用して到達しようとしていますが、有効にすると結果が返されません。
この質問を解決するための指針はありますか?
#!/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