我是ElasticSearch的新手 . 我似乎实际上删除了数据本身 . 我见过的其他东西指的是Delete by Query功能 . 但是,我想知道如何做一个
DELETE FROM [Index]
来自Chrome中的PostMan . 但是,我没有运气 . 似乎无论我做什么,数据都会悬而未决 . 到目前为止,我已经使用PostMan中的DELETE HTTP Verb成功删除了索引并使用了以下URL:
http://localhost:9200/[indexName]
但是,这似乎并没有实际删除数据(也就是文档)本身 .
14 回答
删除索引将删除映射并键入 . 您可以通过以下查询删除所有行
但是对于上面的查询,您需要安装按查询删除插件,因为Elasticsearch的2.0.0-beta1从主api中删除了逐个查询
更多
http://blog.appliedinformaticsinc.com/how-to-delete-elasticsearch-data-records-by-dsl-query/
如果您需要删除所有索引,这可能会派上用场:
您可以使用
cURL
删除,也可以使用开源爱好者为Elasticsearch创建的众多工具之一进行直观删除 .Using cURL
例如
然后,您将收到关于这是否成功的回复 . 您也可以使用索引删除整个索引或类型,您可以通过省略文档ID来删除类型 -
如果您想删除索引 -
如果您希望删除遵循某个命名约定的多个索引(请注意
*
,一个通配符), -Visually
上面提到了各种各样的工具,我不会在这里列出它们,但我会将你链接到一个让你立即开始的工具,位于here . 此工具称为KOPF,要连接到您的主机,请单击左上角的徽标并输入您的群集的URL .
连接后,您将能够管理整个群集,删除,优化和调整群集 .
您必须发送
DELETE
请求您还可以删除单个文档:
我建议你使用elastichammer .
删除后,您可以使用以下URL查找索引是否仍然存在:
http://[your_host]:9200/_stats/
祝好运!
对于按查询进行批量删除,您可以使用特殊的delete by query API:
在历史记录中,API已被删除,然后再次重新引入
谁有趣它有悠久的历史 .
在该答案的第一个版本中,我引用了elasticsearch version 1.6的文档 . 在其中,功能被标记为已弃用但效果良好 .
在elasticsearch version 2.0 it was moved to separate plugin . 甚至它成为插件的原因explained .
而它again appeared in core API in version 5.0!
您可以删除整个索引,doc-type或特定的id数据 . 这些是三种方式:
curl -XDELETE localhost:9200 / index_name
curl -XDELETE localhost:9200 / index_name / doc-type
curl -XDELETE localhost:9200 / index_name / doc-type / documentId
如果你想删除所有索引,那么去通配符 .
这里有很多好的答案,但也有一些我想补充的内容:
最简单的方法!
其中
twitter
是弹性搜索中的索引参考https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html
我想删除logstash索引,并搜索了很多关于curl等不同工具的信息 . 但最终找到了解决方案 . 登录Kibana . 转到开发工具选项卡,在查询字段中键入
DELETE /logstash-*
,然后单击绿色箭头按钮 . 如果你得到"acknowledged":true表示数据已被清除 .您还可以使用'elasticsearch head'(Chrome plugin)中的DELETE操作删除索引 . 将其添加到您的Chrome并将其连接到您的主机 . 在那里,您将找到所有索引,如果单击要删除的索引下方的操作按钮,您将在下拉列表中找到DELETE选项 . 单击它并在弹出窗口中输入DELETE . 您的索引将被删除 . 'Elasticsearch head'扩展是查看和管理索引和数据的简便方法 .
documentation(或The Definitive Guide)表示,您还可以使用下一个查询删除所有索引:
还有一个重要的注意事项:
使用Curl -L localhost:9200 / _cat / indices - 列出索引
9200:默认端口[如果使用其他端口则更改端口]
您可能会发现所有索引都以logstash-yyyy-mm-dd格式开头 . (logstash- *)
您现在可以列出所有索引并使用
卷曲-XDELETE localhost:9200 / index_name(这将删除数据和索引) .
您可以在python中删除索引,如下所示