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