【问题标题】:DELETE all documents of a type in ElasticSearch 2.x在 ElasticSearch 2.x 中删除所有类型的文档
【发布时间】:2015-12-15 10:11:56
【问题描述】:

我已将 ElasticSearch 更新到 2.1 版本。

在此之前,我删除了一个类型中的每个文档:

curl -XDELETE '<server_node>:<port>/<index>/<type>' -i
curl -XDELETE 'http://ESNode01:9201/living/inputs' -i

从现在开始,这是回应:

HTTP/1.1 400 Bad Request Content-Type: text/plain;字符集=UTF-8

内容长度:61

未找到 uri [/living/inputs] 和方法 [DELETE] 的处理程序

我做错了什么?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    自 2.0 起删除映射类型为 not supported anymore

    如果您只需要删除文档,那么您可以使用delete by query plugin,否则您应该创建一个没有要删除的映射的新索引并重新索引您的数据。

    【讨论】:

    • 我已经安装了插件。重新启动 ES 后,我已经能够执行:curl -XDELETE '&lt;index&gt;/&lt;type&gt;/_query' -i -d ' { "query": { "match_all": {} } }' 并且文件被删除。但是,我需要您刚刚评论的最后一件事。我需要应用另一个映射并重新索引(我打开另一个问题!)
    • 但是,我相信,我应该需要能够删除索引...真的不可能吗?
    • 删除索引绝对是可能的,curl -XDELETE localhost:9200/index,你很好。这将删除该索引的索引和所有映射类型。这是我在回答中提到的第二个选项。
    • 我只需要删除一个类型...抱歉写错了。
    • 您刚刚在第二条评论中说 index :-) 然后不,回到我的答案,在 ES 2.0 及以后的版本中不可能只删除一个类型。
    猜你喜欢
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    相关资源
    最近更新 更多