2

我正在使用 pyes Python 库使用 elasticsearch。

假设我想查找所有带有 title="Rainbow" AND artist="Kermit" 的文档。以下返回 title="Rainbow" 或 artist="Kermit" 的文档。如何将其更改为 AND?

query = pyes.TermQuery()
query.add("title", "rainbow")
query.add("artist","kermit")
search = pyes.Search(query)
results = conn.search(search, index_name, doc_type)
4

1 回答 1

3

答案是将两个 TermQuery 包装在一个 BooleanQuery 中

q1 = pyes.TermQuery("title", "rainbow")
q2 = pyes.TermQuery("artist", "kermit")
query = BooleanQuery(must=[q1, q2])
search = pyes.Search(query)
results = conn.search(search, index_name, doc_type)
于 2012-08-03T13:18:08.910 回答