Elasticsearch動態(tài)模板設(shè)置

一、動態(tài)mapping

在我們最開始使用ES的時候颠区,可能還不太了解mapping棵帽,也沒有添加過mapping為什么我們還是能夠正常的添加文檔。

那是因為ES可以動態(tài)映射旺矾,添加文檔的時候遇到?jīng)]有的字段蔑鹦,可以動態(tài)的添加到mapping中,下面是一些默認的mapping方式宠漩。

| 數(shù)值 | 如果缺失在mapping中添加類型 |
| null | 空值不添加類型到mapping |
| true举反、false | 添加一個boolean類型 |
| 浮點數(shù) | 添加一個floating類型 |
| 整數(shù) | 添加一個long類型|
| object | 添加一個object類型 |
| array | 根據(jù)數(shù)組第一個元素決定類型 |
|字符串 | 可能被映射為date、double扒吁、long火鼻、text室囊、keyword類型 |
注意:

數(shù)字類型默認的是被映射為long而不是integer
字符串可以被映射為多種類型,主要看內(nèi)容
我們可以自定義字符串映射為日期的格式

"mappings": {
    "date_detection": true,
    "dynamic_date_formats": ["MM/dd/yyyy"],
    "numeric_detection": true
  }
 

二魁索、自定義動態(tài)mapping

如果覺得ES默認的mapping方式對于自己的業(yè)務(wù)來說還有優(yōu)化空間融撞,我們就可以自定義的動態(tài)mapping方式定制映射方式。

自定義三種方式

1粗蔚、 根據(jù)字段類型mapping

根據(jù)字段類型匹配通過 match_mapping_type 屬性來控制尝偎,當添加文檔的時候,ES的JsonParser解析出來的類型是match_mapping_type指定的類型鹏控,就會使用對應(yīng)的mapping

{
    "mappings": {
        "dynamic_templates": [
            {
                "dt_name_one": {
                    "match_mapping_type": "long",
                    "mapping": {
                        "type": "integer"
                    }
                }
            },
            {
                "dt_name_two": {
                    "match_mapping_type": "string",
                    "mapping": {
                        "type": "text",
                        "fields": {
                            "raw": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    }
                }
            }
        ]
    }
}

2致扯、 根據(jù)字段名稱mapping

根據(jù)字段名稱映射使用的是 match、unmatch当辐、match_pattern 屬性來控制抖僵。

{
    "mappings": {
        "dynamic_templates": [
            {
                "longs_as_strings": {
                    "match_mapping_type": "string",
                    "match": "long_*",
                    "unmatch": "*_text",
                    "mapping": {
                        "type": "long",
                        "enable": false
                    }
                }
            },
            {
                "longs_as_strings": {
                    "match_pattern": "regex",
                    "match": "^profit_\\d+$",
                    "mapping": {
                        "type": "long",
                        "index": false,
                        "norms": false,
                        "doc_values": false
                    }
                }
            }
        ]
    }
}

3、根據(jù)字段路徑mapping

按路徑匹配使用的是 path_match缘揪、path_unmatch 屬性來指定耍群。

{
    "mappings": {
        "dynamic_templates": [
            {
                "dt_path_name": {
                    "path_unmatch": "user.*",
                    "path_match": "*.conceal",
                    "mapping": {
                        "type": "text",
                        "enable": false
                    }
                }
            }
        ]
    }
}

三、動態(tài)mapping的添加方式

添加動態(tài)索引有2種方式:
第一種就是為索引添加mapping的時候同時指定動態(tài)映射的mapping找筝。
第二種就是在索引模板中指定蹈垢。

前面我們已經(jīng)看了在添加索引mapping的時候指定,下面我們就來看一下在設(shè)置索引模板的時候指定袖裕。

四曹抬、索引模板

{
  "order": 0,                            // 模板優(yōu)先級,數(shù)字越大優(yōu)先級越高
  "index_patterns": ["test*,user*"],     // 匹配該模板的索引名稱正則
  "settings": {},                        // 索引設(shè)置
  "mappings": {},                        // 索引中各字段的映射定義
  "aliases": {}                          // 索引的別名
}

如上所示急鳄,就是在索引模板中最常見的屬性了:
order:當索引名稱匹配到多個索引模板的時候沐祷,換選擇order值大的
index_patterns:索引名稱匹配表達式,例如攒岛,所用以名稱以test開頭的都可以匹配到test*
settings:索引配置
mappings:默認的mapping

 {
    "order": 1,
    "index_patterns": [
        "test*",
        "user*"
    ],
    "settings": {
        "number_of_shards": 1
    },
    "mappings": {
        "_source": {
            "enabled": false
        },
        "dynamic_templates": [
            {
                "string_as_keyword": {
                    "match_mapping_type": "long",
                    "mapping": {
                        "type": "integer"
                    }
                }
            }
        ],
        "properties": {
            "host_name": {
                "type": "keyword"
            },
            "created_at": {
                "type": "date",
                "format": "yyyy-MM-dd"
            }
        }
    },
    "aliases": {
        "alias_name": {
            "filter": {
                "term": {
                    "user": "tim"
                }
            },
            "routing": "tim"
        }
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市胞锰,隨后出現(xiàn)的幾起案子灾锯,更是在濱河造成了極大的恐慌,老刑警劉巖嗅榕,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顺饮,死亡現(xiàn)場離奇詭異,居然都是意外死亡凌那,警方通過查閱死者的電腦和手機兼雄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來帽蝶,“玉大人赦肋,你說我怎么就攤上這事。” “怎么了佃乘?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵囱井,是天一觀的道長。 經(jīng)常有香客問我趣避,道長庞呕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任程帕,我火速辦了婚禮住练,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘愁拭。我一直安慰自己讲逛,他們只是感情好,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布敛苇。 她就那樣靜靜地躺著妆绞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪枫攀。 梳的紋絲不亂的頭發(fā)上括饶,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天,我揣著相機與錄音来涨,去河邊找鬼图焰。 笑死,一個胖子當著我的面吹牛蹦掐,可吹牛的內(nèi)容都是我干的技羔。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼卧抗,長吁一口氣:“原來是場噩夢啊……” “哼藤滥!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起社裆,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤拙绊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后泳秀,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體标沪,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年嗜傅,在試婚紗的時候發(fā)現(xiàn)自己被綠了金句。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡吕嘀,死狀恐怖违寞,靈堂內(nèi)的尸體忽然破棺而出贞瞒,到底是詐尸還是另有隱情,我是刑警寧澤坞靶,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布憔狞,位于F島的核電站,受9級特大地震影響彰阴,放射性物質(zhì)發(fā)生泄漏瘾敢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一尿这、第九天 我趴在偏房一處隱蔽的房頂上張望簇抵。 院中可真熱鬧,春花似錦射众、人聲如沸碟摆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽典蜕。三九已至,卻和暖如春罗洗,著一層夾襖步出監(jiān)牢的瞬間愉舔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工伙菜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留轩缤,地道東北人。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓贩绕,卻偏偏與公主長得像火的,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子淑倾,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349