ES 修改 Mapping

发布时间 2023-12-26 14:53:17作者: ExplorerMan

 

https://www.cnblogs.com/ititit111222333/p/16382887.html

新建v1 index

PUT /test_v1

设置v1 mapping

POST /test_v1/_mapping

{

"properties": {

"itemId": {

"type": "long"

},

"itemName": {

"type": "text",

"analyzer": "ik_max_word",

"search_analyzer": "ik_smart"

}

}

}

设置v1别名

POST /_aliases

{

"actions": [

{

"add": {

"alias": "item_alias",

"index": "test_v1"

}

}

]

}


新建v2 index

PUT /test_v2

设置v2 mapping

POST /test_v2/_mapping

{

"properties": {

"itemId": {

"type": "keyword"

},

"itemName": {

"type": "text",

"analyzer": "ik_max_word",

"search_analyzer": "ik_smart"

}

}

}

设置v2别名

POST /_aliases

{

"actions": [

{

"add": {

"alias": "item_alias",

"index": "test_v2"

}

}

]

}


reindex api将旧索引数据导入新索引

POST _reindex

{

"source": {

"index": "test_v1",

"type": "item"

},

"dest": {

"index": "test_v2",

"type": "item"

}

}

旧索引别名迁移到新索引请求

POST /_aliases

{

"actions": [

{

"remove": {

"index": "test_v1",

"alias": "item_alias"

}

},

{

"add": {

"index": "test_v2",

"alias": "item_alias"

}

}

]

}

删除旧索引