可以使用delete_by_query方法来删除ES中符合多个条件的数据。具体步骤如下:

  1. 构造查询条件

根据需要删除的数据的多个字段,构造一个符合要求的查询条件。可以使用bool查询来组合多个条件。

  1. 执行delete_by_query操作

使用delete_by_query方法,传入查询条件,即可删除符合条件的所有文档。

以下是示例代码:

from elasticsearch import Elasticsearch

es = Elasticsearch()

# 构造查询条件
query = {
  "query": {
    "bool": {
      "must": [
        {"match": {"field1": "value1"}},
        {"match": {"field2": "value2"}}
      ]
    }
  }
}

# 执行delete_by_query操作
response = es.delete_by_query(index="my_index", body=query)

print(response)

这段代码会删除my_index中所有field1为value1且field2为value2的文档

python 根据多个字段删除es数据

原文地址: http://www.cveoy.top/t/topic/fo9b 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录