python - 如何同时过滤多个值?

标签 python elasticsearch

我使用 Elasticsearch 来过滤 1 个文档,并使用循环来过滤许多文档。但现在我想在一个请求中过滤许多文档以优化我的脚本。

目前我有这个查询,并且我正在使用“for”循环按 uuid 进行过滤。

for id in id_list:
    filter (id)

def filter(id): 

    result = requests.get(
            settings + '/data/_search?size=10000',
            json={
                "query": {
                    "bool": {
                        "filter": {
                            "terms": {
                                "id": id
                            }
                        }
                    }
                },
                "_source": {
                    "exclude": ["type", "date"]
                }
            }
        )

我只想执行一个请求来一次获取所有文档以优化我的代码。

最佳答案

术语查询采用参数数组,请参阅 reference举个例子。

关于python - 如何同时过滤多个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56339577/

相关文章:

python - 为什么用 `open(False)` 读取可以工作?

python - 无法正常运行 while 循环

(def init) 函数的 Python 语法错误

php - YII2 Elasticsearch数据库配置

python - 使用 gunicorn 进行部署时,我应该为多核 CPU 创建多少个 worker

python - 如何获取另一个列表中列表项的索引?

elasticsearch - Elasticsearch集群实例显示为单个主节点

elasticsearch - 使用数千个字段设计选项进行映射

elasticsearch - 当涉及特殊字符时,Elasticsearch查询过滤器/术语不起作用

java - Elasticsearch : Can't get Native (Java) Script working