用于匹配Excel中值列表中的值的ElasticSearch查询[Python]

dhxwm5r4  于 2022-12-03  发布在  ElasticSearch
关注(0)|答案(1)|浏览(131)

我是Elasticsearch的新手。我有一个值列表,例如:

id_list=[1111,2222,3333,4444,5555]

现在,我想匹配id_list中的这些id,以匹配存储在Elasticsearch中具有相同id号的一些信息。我正在考虑使用for循环来循环所有id,以使用ES查询进行匹配,但我不确定具体如何进行。
我知道使用For循环可以遍历列表中的所有值

for id in id_list:
print(id)

我可以使用以下ES查询逐个搜索ID:

query={"bool":
{must":
[{"match":{"id_list":"1111"}}]
}}

任何可能的方法,包括循环功能,使我不必在上面的ID手动键?谢谢!

ttygqcqt

ttygqcqt1#

您可以使用terms query from elasticsearch来查询id列表:

{
  "query": {
    "terms": {
      "id_list": [1111,2222,3333,4444,5555]
    }
  }
}

根据备注更新:

如文档中所述,最多65,536个术语。
默认情况下,Elasticsearch将搜索词查询限制为最多65,536个搜索词。这包括使用搜索词查找获取的搜索词。您可以使用index.max_terms_count设置更改此限制。

相关问题