當es索引因需求需要新增欄位時,有三種方案
通過刪除舊索引,新建新索引來解決,但是這種方案需要全量跑資料,且平台會出現短暫不可用,不建議使用
新建立乙個臨時索引,然後把舊索引資料匯入後,再把新索引別名命名為舊索引,但這種方式,索引別名讓雖然不影響使用,但是很難受
直接通過命令來實現
修改es索引,推薦使用kibana操作
第一步:查詢索引結構
get
news
/
第二步:檢視索引是否允許被修改
get
news
/_settings
結果:
,"provided_name"
:"news"
,"creation_date"
:"1605592385832"
,"number_of_replicas"
:"1"
,"uuid"
:"mbjw8ptfr9qs5vww7q**xq"
,"version":}
}}}
檢視結果中的read_only_allow_delete
是否為true
,為true時即可修改,如果為false時,說明索引時唯讀狀態,新增時會出現如下錯誤:
],
"type"
:"cluster_block_exception"
,"reason"
:"index [blog1] blocked by: [forbidden/12/index read-only / allow delete (api)];"},
"status"
:403
}
需要我們執行以下命令:
put
news
/_settings
第三步:新增新字段
get
news//
main
,"groupno":,
"groupname":}
}}
注意,news
為索引名,main
為索引體,需要和get
查詢出來的結果對應上,否則會報錯
],
"type"
:"illegal_argument_exception"
,"reason":}
,"status"
:400
dedecms 後台新增新字段
位置在頻道模型 內容模型管理 更改內容模型 普通文章 新增字段 新增後的字段 default maxlength page split default maxlength 250 page default maxlength 250 page default maxlength 250 page 模...
Zen Cart給產品新增新字段
zen cart 二次開發 shoppingmars.com zen cart 二次開發 2 在資料庫管理介面 如 phpmyadmin 中找到表 products 或者表的字首加 products 為這個表新增兩個字段 products guarantee 和 products color alt...
es重建字段型別 ES索引建立 新增與修改字段
推薦使用kibana進行dsl編寫,有 提示與糾正 提示給跟我一樣的小白 建立索引並配置 number of shards為資料分片,預設值為5 number of replicas為資料備份數,如果只有一台機器,建議設定為0,避免索引一直處於yellow狀態 注 該設定建立索引後無法修改 我記得是...