以下是视频笔记:

注意,笔记只是视频内容的一个简要记录,因此笔记内容比较简单,完整的内容可以查看视频。

6.4 删除文档

6.4.1 根据 id 删除

从索引中删除一个文档。

删除一个 id 为 TuUpmHUByGJWB5WuMasV 的文档。

DELETE blog/_doc/TuUpmHUByGJWB5WuMasV

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

6.4.2 查询删除

查询删除是 POST 请求。

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

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

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

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

6.5 批量操作

es 中通过 Bulk API 可以执行批量索引、批量删除、批量更新等操作。

首先需要将所有的批量操作写入一个 JSON 文件中,然后通过 POST 请求将该 JSON 文件上传并执行。

例如新建一个名为 aaa.json 的文件,内容如下:

ElasticSearch 文档的删除和批量操作_ElasticSearch

首先第一行:index 表示要执行一个索引操作(这个表示一个 action,其他的 action 还有 create,delete,update)。_index 定义了索引名称,这里表示要创建一个名为 user 的索引,_id 表示新建文档的 id 为 666。

第二行是第一行操作的参数。

第三行的 update 则表示要更新。

第四行是第三行的参数。

注意,结尾要空出一行。

aaa.json 文件创建成功后,在该目录下,执行请求命令,如下:

curl -XPOST "http://localhost:9200/user/_bulk" -H "content-type:application/json" --data-binary @aaa.json

执行完成后,就会创建一个名为 user 的索引,同时向该索引中添加一条记录,再修改该记录,最终结果如下:

ElasticSearch 文档的删除和批量操作_ElasticSearch_02

转自:https://mp.weixin.qq.com/s/FzX8BvtN7m4BvE6QgAEX7g