1,elasticsearch,不停服务的修改document
elasticsearch是不支持动态的修改mapping字段的,但是我们如何设计实现document的修改?
方法为:
1、先创建修改后的mapping字段,字段名字一致,类型不一致
elasticsearch 7.0语句:
创建索引后设置新的mapping字段
PUT my_index
{
"mappings": {
"properties": {
"date": {
"type": "date",
"format": "yyyy-MM-dd"
}
}
}
}
2、将老索引中的数据复制到新的索引中。
将老的索引中的数据复制到新的索引中:
POST _reindex
{
"source": {
"index": "metricbeat-*"(老的索引名)
},
"dest": {
"index": "metricbeat"(新的索引名)
}
}
3、修改别名
POST /_aliases
{
"actions": [
{"remove": {"index": "test1", "alias": "alias1"}},
{"add": {"index":"test1", "alias": "alias2"}}
]
}'
访问的只是访问别名。
2.elasticsearch升级
不停服务的升级elasticsearch,首先下载最新的elasticsearch,安装配置好,迁移数据到新版班,让后启动elasticsearch集群。 访问elasticsearch通过nginx反向代理。nginx代理指向新版本的elasticsearch服务。通过配置文件,修改nginx中proxy_http,
然让后nginx -s reload命令。 使用新版本的elasticserch。