ES-删除数据
删除单个文档或者一组文档。这样做的时候,ES只是将它们标记为删除,所以它们不会再出现于搜索结果中,稍后ES通过异步的方式将它们彻底的从索引中移出。
删除整个索引。这是删除多组文档的特例。但是不同点在于这样做的性能更好。主要的工作就是移除和那个索引相关的所有文件,几乎是瞬间就能完成。
关闭索引。关闭的索引不允许读取或写入操作,数据也不会加载到内存。这和删除ES数据类似,但是索引还是保留在磁盘上。它也很容易恢复,主要再次打开关闭的索引。
删除文档
(1).通过ID删除单个文档。如果只有一篇文档要删除,而且知道要删除的ID,这样做非常nice。
(2).在单个请求中删除多篇文档。如果有多篇文档需要删除,可以在一个批量请求中一次性删除它们,这样比每次只删除一篇文档更快。
(3).删除映射类型,包括其中的文档。这样的操作会高效地搜索并删除该类型中所索引的全部文档,也包括映射本身。
(4).删除匹配某个查询的所有文档。这和删除映射类型相似,内部运行一个查询,并识别需要删除的文档。只有在这里可以指定任何想要的查询,然后删除匹配的文档。
1删除单个文档
为了删除单一的文档,需要向其URL发送HTTP DELETE请求
curl -XDELETE 'localhost:9200/online-shop/shirts/1'
也可以使用版本来管理删除操作的并发,就像索引和更新的并发控制一样。如:假设某款衬衫销售一空,想移除这篇文档,这样就不会出现在搜索结果中。但是当时可能并不知道新的采购到货了,而且库存数据也已经被更新了。为了避免这种情况,可以再DELETE请求中加入版本参数ÿ
版权声明:本文为weixin_42377407原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。