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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐