惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
G
Google Developers Blog
J
Java Code Geeks
C
Check Point Blog
Last Week in AI
Last Week in AI
Microsoft Azure Blog
Microsoft Azure Blog
Blog — PlanetScale
Blog — PlanetScale
月光博客
月光博客
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
L
LangChain Blog
有赞技术团队
有赞技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园 - 司徒正美
IT之家
IT之家
Martin Fowler
Martin Fowler
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tailwind CSS Blog
U
Unit 42
Jina AI
Jina AI
Microsoft Security Blog
Microsoft Security Blog
I
InfoQ

祈雨的笔记

安全多方计算MPC spark原理解析 kueue执行源码分析 spark on k8s执行源码分析 spark-operator源码解析 系统压测遇到的缓存击穿问题 我的世界PC与安卓联机 蚂蚁金服流量投放平台的AIG改造 G1大对象致Old区占用率高 日志打印导致接口响应率下跌分析 Groovy加载类导致OOM分析 ERROR日志打印导致CPU满载 记OceanBase死锁超时 应用发版期间服务响应超时 Ark Serverless初探 系统优化复盘一二三 The user specified as a definer does not exist Kong网关初探 API网关选型调研 CPU火焰图常用工具 配置中心选型调研 root操作Nginx导致用户组错误 基于Proxifier使用代理 FastJSON字段智能匹配踩坑 Nacos初探 记一次Nginx服务器CPU满荷载故障 基于券系统分库分表的思考 limit不参与SQL成本计算致索引失效 Linux常用性能监控命令 golang低版本http2偶现400
elasticsearch重建索引
祈雨的笔记 · 2018-09-29 · via 祈雨的笔记

ES对于已存在的索引字段无法修改,如果要修改索引结构,可以通过新建一个修改结构后的新索引,然后将旧索引中的数据复制到新索引中,变相实现修改索引。

配合索引别名可以实现无缝修改索引结构。

1
PUT /my_index_v1/_alias/my_index

示例:将testindex索引下的数据复制到testindex2索引下。默认配置下,对于type和id相同的文档直接覆盖处理。

1
2
3
4
5
6
7
8
9
POST /_reindex
{
"source": {
"index": "testindex"
},
"dest": {
"index": "testindex2"
}
}

version_type

可以指定参数version_typeexternal

  1. 当源索引文档不存在于目标索引,创建文档
  2. 当源索引文档存在于目标索引且源索引文档版本高于目标索引文档,更新文档
  3. 当源索引文档存在于目标索引且源索引文档版本等于或低于目标索引文档,该文档冲突不更新

当参数version_typeinternal(默认)时,源索引所有文档创建覆盖。

1
2
3
4
5
6
7
8
9
10
POST /_reindex
{
"source": {
"index": "testindex"
},
"dest": {
"index": "testindex2",
"version_type": "external | internal"
}
}

op_type

当指定参数op_typecreate时,_reindex操作只会将目标索引中不存在的文档创建过去,而目标索引中已存在的文档无论版本高低,文档冲突不更新。

1
2
3
4
5
6
7
8
9
10
POST /_reindex
{
"source": {
"index": "testindex"
},
"dest": {
"index": "testindex2",
"op_type": "create"
}
}

query

_reindex操作可以增加查询和type限制文档的数量,也可以从多个索引下复制文档到指定索引。

1
2
3
4
5
6
7
8
9
10
11
12
13
POST /_reindex
{
"source": {
"index": ["testindex"],
"type": ["testtype"],
"query": {
"match_all": {}
}
},
"dest": {
"index": "testindex2"
}
}

sort

_reindex支持选择性复制指定的文档数量和排序。

1
2
3
4
5
6
7
8
9
10
11
12
13
POST /_reindex
{
"size": 10,
"source": {
"index": "testindex",
"sort": {
"name": "asc"
}
},
"dest": {
"index": "testindex2"
}
}

script

_reindex支持使用脚本修改文档。

1
2
3
4
5
6
7
8
9
10
11
12
POST /_reindex
{
"source": {
"index": "testindex"
},
"dest": {
"index": "testindex2"
},
"script": {
"inline": "ctx._source.name = ctx._source.name + 'v2'"
}
}