es修改type名称_ElasticSearch如何修改索引字段
一、需求
當es字段類型無法支撐業務需求,需要修改到字段類型的時候。例如修改字段類型從Integer變成double,這種情況下,是沒辦法修改es的字段的type的。
原因是一個字段的類型進行修改之后,ES會重新建立對這個字段的索引信息,ElasticsSearch的底層是Lucene庫,字段類型修改會涉及到分詞方式,相關度,TF/IDF等倒排的生成 , 所以是沒辦法修改的了。
這種情況下,如何能兼容舊數據的同時,實現修改字段類型?
二、如何實現:es的reindex
實現原理:通過es的reindex功能把舊索引的數據reindex到新索引,然后為新索引建立舊索引的別名,最后刪除舊索引。
下面以重構:idt-shelf-2265-index-202003下的 shelf_sub_job 中的Integer字段變為double為例子
新建一個索引:idt-shelf-2265-index-202003-temp(注:該索引下的數據表type和原索引保持一致。其中,新索引中的字段屬性已修改為double)
執行reindex操作,把舊索引的數據復制到新索引:
POST _reindex
{
"source": {
"index": "idt-shelf-2265-index-202003"
},
"dest": {
"index": "idt-shelf-2265-index-202003-temp"
}<
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的es修改type名称_ElasticSearch如何修改索引字段的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql超大表处理方式是_第29问:M
- 下一篇: 安卓解压zip文件(安卓解压zip)