1、#查看index映射和数据
GET account/_search
2、查看原先index maping结构
GET account/_mapping
3、#根据原先index,create 一个新的index,修改响应字段
1)将原有的setting中的名称和创建时间、uuid等删除掉,copy过来
2)将原有的mapping中需要修改的字段修改后copy多来
PUT account_20210610_1641
{
"settings": {
"index": {
"number_of_shards": "3",
"max_result_window": "1000000",
"analysis": {
"filter": {
"shingle_filter": {
"max_shingle_size": "20",
"min_shingle_size": "2",
"output_unigrams": "true",
"type": "shingle"
},
"ngram_limit_filter": {
"type": "limit",
"max_token_count": "512"
}
},
"char_filter": {
"t2s": {
"type": "mapping",
"mappings_path": "t2s.dic"
},
"my_stopword": {
"type": "mapping",
"mappings": [
"\\u0020 => ",
" => "
]
}
},
"analyzer": {
"whitespace_analyzer": {
"filter": [
"standard",
"lowercase"
],
"char_filter": [
"t2s"
],
"tokenizer": "whitespace"
},
"ngram_analyzer": {
"filter": [
"standard",
"lowercase",
"ngram_limit_filter"
],
"char_filter": [
"my_stopword",
"t2s"
],
"tokenizer": "ngram_tokenizer"
},
"keyword_analyzer": {
"filter": [
"lowercase"
],
"tokenizer": "keyword_tokenizer"
},
"wordbreaker_max_analyzer": {
"filter": [
"standard"
],
"char_filter": [
"t2s"
],
"tokenizer": "ik_max_word"
},
"pinyin_analyzer": {
"filter": [
"standard",
"lowercase",
"word_delimiter",
"shingle_filter"
],
"tokenizer": "pinyin_tokenizer"
},
"wordbreaker_smart_analyzer": {
"filter": [
"standard"
],
"char_filter": [
"t2s"
],
"tokenizer": "ik_smart"
}
},
"tokenizer": {
"keyword_tokenizer": {
"type": "keyword",
"buffer_size": "1024"
},
"pinyin_tokenizer": {
"padding_char": " ",
"type": "pinyin",
"first_letter": "none"
},
"ngram_tokenizer": {
"type": "nGram",
"min_gram": "1",
"max_gram": "100"
}
}
},
"number_of_replicas": "0"
}
},
"mappings": {
"main": {
"dynamic": "false",
"properties": {
"a_on_shelf_status": {
"type": "integer"
},
"account_id": {
"type": "integer"
},
"approved_status": {
"type": "integer"
},
"area_id": {
"type": "text"
},
"avatar_url": {
"type": "keyword"
}
}
}
}
}
4、#reindex数据迁移
POST _reindex
{
"source": {
"index": "account_20210325_1530"
},
"dest": {
"index": "account_20210610_1641"
}
}
5、#查看reindex进度
GET account_20210610_1641/_search
#修改别名,并移除原先index别名
POST _aliases
{
"actions": [
{
"add": {
"index": "account_20210610_1641",
"alias": "account"
}
},
{
"remove": {
"index": "account_20210325_1530",
"alias": "account"
}
}
]
}
6、去控台上关闭原先那个index(account_20210325_1530),关闭一段时间,观察没问题,再将关闭的index给删掉。