我想从ElasticSearch中删除数据。我已经删除了索引。然而,这似乎并没有真正删除数据本身。我看到的其他东西指向通过查询删除功能。然而,我甚至不知道该问什么。我知道指数。本质上,我想知道如何做a

DELETE FROM [Index]

从邮递员在Chrome。然而,我没有任何运气。似乎无论我做什么,数据都不会消失。到目前为止,我已经成功地删除索引使用DELETE HTTP动词在邮差和使用一个url:

   http://localhost:9200/[indexName]

然而,这似乎并没有真正删除数据(又名文档)本身。


当前回答

我正在使用Kibana作为查看和搜索弹性搜索数据的工具,基于良好的用户体验,我推荐它。

以下查询将有助于从弹性搜索中删除数据

情况1:如果你知道数据行的id:

DELETE /index_name/_doc/{id}

案例2:根据列值进行删除: 假设我有一个名为abc的列。

现在我必须得到_id字段基于column_name最终删除该行。

GET /uts_checkout_configurations/_search { "query" : { "constant_score" : { "filter" : { "bool": { "must": {"exists": {"field": "ABC"}} } } } } }

最后,您将获得_id作为其中一个字段的数据。

根据-删除

DELETE /index_name/_doc/{_id}

其他回答

如果你需要删除所有索引,这可能会派上用场:

curl -X DELETE 'http://localhost:9200/_all'

Powershell:

Invoke-WebRequest -method DELETE http://localhost:9200/_all

可以通过Kibana Console删除索引:

获取所有索引:

GET /_cat/indices?v

删除指定索引。

DELETE /INDEX_NAME_TO_DELETE

你也可以使用chrome扩展elasticsearch-head删除索引

我正在使用Kibana作为查看和搜索弹性搜索数据的工具,基于良好的用户体验,我推荐它。

以下查询将有助于从弹性搜索中删除数据

情况1:如果你知道数据行的id:

DELETE /index_name/_doc/{id}

案例2:根据列值进行删除: 假设我有一个名为abc的列。

现在我必须得到_id字段基于column_name最终删除该行。

GET /uts_checkout_configurations/_search { "query" : { "constant_score" : { "filter" : { "bool": { "must": {"exists": {"field": "ABC"}} } } } } }

最后,您将获得_id作为其中一个字段的数据。

根据-删除

DELETE /index_name/_doc/{_id}

文档(或权威指南)说,你也可以使用下一个查询删除所有索引:

curl -XDELETE 'http://localhost:9200/*'

这里有一个重要的提示:

对于一些人来说,用一个命令就能删除所有数据是一个非常可怕的前景。如果您想消除意外批量删除的可能性,您可以在elasticsearch.yml中将以下设置为true: action.destructive_requires_name:真