elasticsearch 我可以删除索引中的所有数据吗

6bc51xsx  于 2023-06-21  发布在  ElasticSearch
关注(0)|答案(2)|浏览(180)

首先,我已经检查了这个问题Removing Data From ElasticSearch
这对我来说不好,因为那里的答案都在谈论如何删除整个索引。,这与我的问题不同。
我的问题是,我想删除一个索引中的整个文档,但不删除索引。
我试着做flush命令,但它不删除任何东西.
先谢了

tf7tbtn2

tf7tbtn21#

如果您只需要删除文档但保留索引,那么您可以使用delete by query插件(如果您使用的是ES 2.x),否则您可以使用delete by query API(如果您使用的是ES 1.7.x或更早版本)。
因此,如果您使用的是ES2.x,请首先使用以下命令安装插件,然后重新启动ES

bin/plugin install delete-by-query

然后你可以用下面的curl删除你所有的文档

curl -XDELETE http://localhost:9200/index/_query?q=*
gcmastyq

gcmastyq2#

是的,我们可以按照文档中的“按查询删除”部分进行操作:
假设你的索引被命名为'index_test'。因此,您可以向index_url + '_delete_by_query'发送POST请求,这样索引的内容(文档)将被删除,但索引本身将被保留:

curl -X POST http://elasticAddress:9200/index_test/_delete_by_query

这样,您就不会丢失可视化内容,因为索引会保留,但文档(内容)会更新。

相关问题