我有一个_id数组。
在this page上我发现了如何从中检索文档列表:
GET ads/_mget
{
"ids": [ "586213440e7d2c7f10fe2574",
"586213440e7d2c7f10fe2575",
"586213450e7d2c7f10fe2576",
"586213450e7d2c7f10fe2577" ]
}
这可以正常工作并返回4个完整文档的列表。
(旁注) 我觉得必须要编写" ids"在查询中,当它实际上作用于" _id"领域。 (结束旁注)
现在我无法弄清楚如何从同一个_id列表中删除这些文档。
我尝试DELETE ads/_mget
,但收到错误:No handler found for uri [/ads/_mget] and method [DELETE]
我尝试_mdelete
代替_mget
,但它似乎不存在。
我也试过
DELETE ads
{
"ids": [ "586213440e7d2c7f10fe2574",
"586213440e7d2c7f10fe2575",
"586213450e7d2c7f10fe2576",
"586213450e7d2c7f10fe2577" ]
}
...但是这......只是删除了一切,我必须重新索引数据库。
答案 0 :(得分:3)
您始终可以使用Delete By Query的功能并提供有效负载,例如:
POST ads/_delete_by_query
{
"query" : {
"terms" : {
"_id" :
[ "586213440e7d2c7f10fe2574",
"586213440e7d2c7f10fe2575",
"586213450e7d2c7f10fe2576",
"586213450e7d2c7f10fe2577" ]
}
}
}
有关字词查询的更多信息,请按照https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-query.html
进行操作