我想从弹性搜索中删除许多不再存在于我的数据库中的文档。
我知道要删除多个文档(例如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?
答案 0 :(得分:0)
这可能有点危险,但您可以使用delete by query
。 delete by query api
查询将会像这样:
query : {bool : { must_not : {ids : valuse : [1,2,3,... ]}}}