ElasticSearch:如何从头删除索引条目?

cog*_*ito 5 elasticsearch

我想直接从MOBZ的ElasticSearch头(Web UI)中删除索引条目.

我在"任何请求"部分尝试了DELETE查询,其中包含以下内容:

{"query":{"term":{"supplier":"ABC"}}}
Run Code Online (Sandbox Code Playgroud)

但是,我得到的回报是:

{
ok: true
acknowledged: true
}
Run Code Online (Sandbox Code Playgroud)

并且不会删除条目.

我究竟做错了什么?

era*_*ran 5

您应该已从帖子数据中删除了"查询".你只需要它用于_search,你应该使用_query入口点进行删除.在这种情况下,很明显帖子只是一个查询,因此使得它可以使用它(实际上是不相关的)来明确地说明它是一个查询.

那是:

curl -XPOST 'localhost:9200/myindex/mydoc/_search' -d 
'{"query":{"term":{"supplier":"ABC"}}}'
Run Code Online (Sandbox Code Playgroud)

将适用于搜索.但要通过查询删除,如果您尝试:

curl -XDELETE 'localhost:9200/myindex/mydoc/_query' -d 
'{"query":{"term":{"supplier":"ABC"}}}'
Run Code Online (Sandbox Code Playgroud)

它不起作用(注意_query的入口点的更改,以及切换CURL参数以删除).你需要打电话:

curl -XDELETE 'localhost:9200/myindex/mydoc/_query' -d 
'{"term":{"supplier":"ABC"}}'
Run Code Online (Sandbox Code Playgroud)

如果这有帮助,请告诉我.

如果你想在HEAD中这样做:

  1. 放入/stock/one/_query"GET/PUT/POST/DELETE"下拉框旁边的任何请求文本框

  2. 在下拉菜单中选择DELETE

  3. 请求正文应该是 {"term":{"vendor":"Socks"}}

你的问题是你使用了一个请求体:{"query":{"term":{"vendor":"Socks"}}} 这对搜索很好,但不适用于删除.