如何删除elasticsearch中的多个文档?

时间:2017-09-22 12:30:56

标签: json curl elasticsearch

我想从弹性搜索中删除许多不再存在于我的数据库中的文档。

我知道要删除多个文档(例如id 1,2,3),我们使用:

curl -XDELETE localhost:9200/index/doc/ids=1,2,3

但我想只保留那些id并删除其余的内容,就像SQL中的以下指令一样。

DELETE FROM table1 WHERE id_column NOT IN (1,2,3);

在这种情况下,弹性搜索是否有等效的NOT IN?

1 个答案:

答案 0 :(得分:0)

这可能有点危险,但您可以使用delete by querydelete by query api

查询将会像这样:

query : {bool : { must_not : {ids : valuse : [1,2,3,... ]}}}