ElasticSearch删除文档

删除文档

1. 根据 id 删除

从索引中删除一个文档。

删除一个 id 为 TuUpmHUByGJWB5WuMasV 的文档。

DELETE blog/_doc/TuUpmHUByGJWB5WuMasV

如果在添加文档时指定了路由,则删除文档时也需要指定路由,否则删除失败。

2. 查询删除

查询删除是 POST 请求。

例如删除 title 中包含 666 的文档:

POST blog/_delete_by_query
{
  "query":{
    "term":{
      "title":"666"
    }
  }
}

也可以删除某一个索引下的所有文档:

POST blog/_delete_by_query
{
  "query":{
    "match_all":{
      
    }
  }
}

3. ES删除

curl -XDELETE http://10.135.73.73:9201/test/user/1

for i in `seq -w 1 31`;
do 
    curl -XDELETE "http://master:9200/system-2017.01.$i"
done

curl -XGET http://10.135.73.73:9201/test/user/1
  • 如果文档存在, result属性值为deleted, _version属性的值+1

  • 如果文档不存在, result属性值为not_found,但是_version属性的值依然会+1, 这个就是内部管理的一部分, 它保证了我们在多个节点间的不同操作的顺序都被正确标记了

注意: 删除一个文档也不会立即生效, 它只是被标记成已删除。 Elasticsearch将会在你之后添加更多索引的时候才会在后台进行删除内容的清理。

posted @ 2021-04-08 09:25  临江仙我亦是行人  阅读(500)  评论(0编辑  收藏  举报