mr2zhang
财神Childe
2017-11-10 07:24
采纳率: 0%
浏览 30.7k

es 中怎么根据查询条件删除数据

在es_head中怎么根据查询条件删除数据?除了id那种简单的。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • u010471096
    zoyeal 2018-02-08 02:12

    可以通过delete_by_query对要删除的doc进行条件过滤,具体语法如下:
    POST {index}/_delete_by_query
    {
    "query": {
    "match": {
    "message": "some message"
    }
    }
    }

    在版本2.X之后,delete_by_query被弃用,直接用delete就行:

    DELETE {index}/{type}/_query
    {
    "query": {
    "match_all": {}
    }
    }

    点赞 5 评论
  • caozhy
    点赞 评论
  • Drizzly_
    Drizzly_ 2017-11-16 07:05

    正常查询你是用的 GET 请求。 你用 DELETE 请求。就可以实现查询删除了。 这个需要对应的 ES 版本。 最新版一定是支持的。 中间有几次 又把这个功能删除过

    点赞 评论
  • illbehere
    fuck_prometheus 2017-11-17 07:42

    curl -XPOST "http://localhost:9200/index/type/_delete_by_query?conflicts=proceed" -d'{"query": {"match_all": {}}}'

    点赞 评论

相关推荐