ElasticSearch 設定mapping
文件居於 ElasticSearch 5.4.3 版本 在kibana中操作
設定mapping有3種情況,1 建立index時同時設定type的mapping 2 追加欄位的mapping到已經存在的type 3 新增新的type的mapping到已經存在的index下
情況1
PUT / my_index
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0,
"index": {
"analysis": {
"analyzer": {
"search_synonyms": {
"tokenizer": "ik_smart"
}
}
}
}
},
"mappings": {
"_default_": {
"_all": {
"enabled": true
}
},
"my_type_01": {
"properties": {
"bizdate": {
"type": "date",
"format": "yyyyMMdd",
"store": true
}
}
}
}
}
ps:若未在mapping中指定的欄位將被預設為text型別
情況2:
PUT / my_index/ _mapping / my_type_01{
"properties": {
"bizdate2": {
"type": "date",
"format": "yyyyMMdd",
"store": true
}
}
}
ps:bizdate2 欄位必須是不存在的,已經存在的欄位是不允許修改mapping的
情況3:
PUT / my_index/ _mapping / my_type_02/ {
"properties": {
"bizdate": {
"type": "date",
"format": "yyyyMMdd",
"store": true
}
}
}
ps: 和第二種情況很相似,會先判斷type是否存在,不存在時會新建type和mapping