Elasticsearch 不允许直接修改现有索引的映射来添加新字段

由于 Elasticsearch 不允许直接修改现有索引的映射来添加新字段,您需要采取以下步骤来添加新字段:

  1. **创建新索引**:

创建一个新的索引,包含原始字段和您想要添加的新字段 `content`。

```json

PUT /new_article

{

"mappings": {

"_doc": {

"properties": {

"title": {

"type": "text",

"analyzer": "ik_max_word",

"search_analyzer": "ik_max_word"

},

"desc": {

"type": "text",

"analyzer": "ik_max_word",

"search_analyzer": "ik_max_word"

},

"content": { // 新增字段

"type": "text",

"analyzer": "ik_max_word",

"search_analyzer": "ik_max_word"

}

}

}

}

}

```

  1. **迁移数据**:

使用 `_reindex` API 将数据从旧索引 `article` 迁移到新索引 `new_article`。

```json

POST /_reindex

{

"source": {

"index": "article"

},

"dest": {

"index": "new_article"

}

}

```

  1. **更新别名** (如果使用):

如果您使用别名,需要更新别名指向新的索引。

```json

POST /_aliases

{

"actions": [

{

"remove": {

"index": "article",

"alias": "article_alias" // 假设您的别名是 article_alias

}

},

{

"add": {

"index": "new_article",

"alias": "article_alias"

}

}

]

}

```

  1. **删除旧索引** (可选):

在确认新索引工作正常并且别名已经更新之后,您可以删除旧的索引以释放资源。

```json

DELETE /article

```

  1. **更新应用程序配置**:

更新您的应用程序配置,确保它指向新的索引或别名。

请注意,这个过程涉及到数据迁移,因此在执行这些步骤之前,请确保您已经备份了数据,以防止数据丢失。此外,根据您的数据量大小,迁移数据可能需要一些时间,并且可能会对 Elasticsearch 集群的性能产生影响。建议在低峰时段进行这些操作。

相关推荐
xzzd_jokelin2 小时前
AI编程,几个核心工件写成了可直接使用的文件
大数据·人工智能·elasticsearch·ai编程·codex
明夜之约3 小时前
Elasticsearch 深度解析:从倒排索引原理到亿级数据生产实战
大数据·elasticsearch·搜索引擎
garmin Chen3 小时前
Elasticsearch(1):Elasticsearch核心原理与基础操作总结
java·大数据·笔记·elasticsearch·搜索引擎·全文检索
GISer_Jing4 小时前
Claude Code 技术深度解析:一个活在终端里的 AI 编程助手
人工智能·elasticsearch·前端框架
西敏寺的乐章4 小时前
01-倒排索引原理-搜索引擎为什么能秒搜
java·elasticsearch·搜索引擎
Ws_1 天前
Git + Gerrit 第四课:合并冲突解决
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客1 天前
Elasticsearch:跨数据库与业务系统进行搜索
大数据·数据库·人工智能·elasticsearch·搜索引擎·全文检索
极光技术熊1 天前
最新Elasticsearch 版本演进与 Java 客户端接入完全指南
elasticsearch
Elastic 中国社区官方博客1 天前
从平均值到任意百分位:Elasticsearch 在 ES|QL 中提供原生 exponential histogram 支持
大数据·人工智能·elasticsearch·搜索引擎·信息可视化·全文检索·数据可视化
Elastic 中国社区官方博客1 天前
Elasticsearch Agent Builder 黑客松(Hackathon)
大数据·人工智能·elasticsearch·搜索引擎·云原生·全文检索