如何使用TermQuery跨多个术语执行AND查询?

2024-06-16 13:09:17 发布

您现在位置:Python中文网/ 问答频道 /正文

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

假设我想查找title=“Rainbow”和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)

Tags: and文档addsearchtitleartistelasticsearchquery
1条回答
网友
1楼 · 发布于 2024-06-16 13:09:17

答案是在BooleanQuery中包装两个TermQuery

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)

相关问题 更多 >