Elasticsearch是不能像mysql等关系型数据库直接删除字段的。

Elasticsearch删除字段大概分为以下几个步骤:(比如原索引名为index_name)

1、创建新索引(index_name1)

2、新索引创建新mapping(去掉要删除的字段)

3、原索引导出数据到新索引(index_name->index_name1)

 POST _reindex
{
   "source": {
     "index": "index_name"
   },
   "dest": {
     "index": "index_name1"
  }
 

4、删除原索引(也就是index_name

5、重新创建索引index_name

6、创建索引index_name的mapping

7、把数据在index_name1导入到index_name(同步骤3的操作)

8、删除index_name1

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐