首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除ElasticSearch中的数据

删除ElasticSearch中的数据
EN

Stack Overflow用户
提问于 2017-04-17 19:18:47
回答 1查看 63关注 0票数 0

我想删除与查询匹配的ElasticSearch中的数据。我使用ElasticSeach 1.5并执行此查询以实现以下目标:

代码语言:javascript
复制
POST employee/report/_delete_by_query
{
   "query": {
      "bool": {
         "must": [
           [                 
                   { "match_phrase" : { "year_month" : "2016-8" }  },
                   { "term" : { "status" : "Inactive" }  }
            ]
         ]
      }
   }
}

当我这样做的时候,我得到了这样的结果:

代码语言:javascript
复制
{
   "_index": "employee",
   "_type": "report",
   "_id": "_delete_by_query",
   "_version": 6,
   "created": false
}

每次运行查询时,_version编号都会得到+1。然后查询删除的术语,以检查没有更多的结果:

代码语言:javascript
复制
GET employee/report/_search
{
   "query": {
      "bool": {
         "must": [
           [                 
                   { "match_phrase" : { "year_month" : "2016-8" }  },
                   { "term" : { "status" : "Inactive" }  }
            ]
         ]
      }
   }
}

而且我还能得到结果!我做错什么了?我需要刷新ElasticSearch吗?我错过了一步?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-18 03:40:07

使用delete-by-query的正确方法如下所示,即您需要使用_query HTTP方法访问DELETE端点:

代码语言:javascript
复制
DELETE employee/report/_query
{
   "query": {
      "bool": {
         "must": [
           [                 
                   { "match_phrase" : { "year_month" : "2016-8" }  },
                   { "term" : { "status" : "Inactive" }  }
            ]
         ]
      }
   }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43458053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档