Elasticsearch5.4 删除type

Posted 杜先武博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch5.4 删除type相关的知识,希望对你有一定的参考价值。

首先要说明的是现在的Elasticsearch已经不支持删除一个type了,所以使用delete命令想要尝试删除一个type的时候会出现如下错误,如果存在一个名为edemo的index和tets的type:

No handler found for uri [/edemo/test] and method [DELETE]

所以现在如果想要删除type有两种选择: 
1.重新设置index。 
2.删除type下的所有数据。

如果是重新设置index的话,官方建议

Delete Mappingedit 
It is no longer possible to delete the mapping for a type. Instead you should delete the index and recreate it with the new mappings.

如果是想要删除type下的所有数据的话,可以使用delete by query的方法,本人在网上查到的都是安装delete-by-query插件,弄了半天也弄不好,最后发现现在的版本根本没有这个插件了也不需要这个插件了。

edemo下的test中有两条数据:

技术分享

想要一次性删除test下的所有数据内容的话,可以参考官方文档

其中有介绍到可以使用如下命令删除一个type下的所有数据信息:

POST edemo/test/_delete_by_query?conflicts=proceed
{
  "query": {
    "match_all": {}
  }
}

并不需要插件,直接执行该条命令就可以进行删除了:

技术分享




以上是关于Elasticsearch5.4 删除type的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch5.4常见问题总结

CentOS6.5安装Elasticsearch5.4.1+Kibana5.4.1

Elasticsearch5.4配置文件重要配置介绍

用IJ和gradle启动elasticsearch5.4.3

ElasticSearch5.4.3离线搭建

ElasticSearch5.4.1 搜索引擎搭建文档