標籤:filter 高亮 快速 整數 分詞 限制 custom pos 適合
背景:
由於本人使用的是6.0以上的版本es,在使用發現很多中文已淘汰。ES6.0以後有很多參數變化。
現我根據官網總結mapping最新的參數,希望能對大家有用處。
新增欄位:
eager_global_ordinals
刪除的欄位:
include_in_all
以下是所有最新欄位的詳細說明
{ "analyzer" : "ik_max_word", #指定分詞器,一般使用最大分詞:ik_max_word "normalizer" : "normalizer_name", #欄位標準化規則;如把所有字元轉為小寫;具體如下舉例 "boost" : 1.5, #欄位權重;用於查詢時評分,關鍵字段的權重就會高一些,預設都是1;另外查詢時可臨時指定權重 "coerce" : true, #清理髒資料:1,字串會被強制轉換為整數 2,浮點數被強制轉換為整數;預設為true "copy_to" : "field_name", #自定_all欄位;指定某幾個欄位拼接成自訂;具體如下舉例 "doc_values" : true, #加快排序、彙總操作,但需要額外儲存空間;預設true,對於確定不需要排序和彙總的欄位可false "dynamic" : true, #新欄位動態添加 true:無限制 false:資料可寫入但該欄位不保留 ‘strict‘:無法寫入拋異常 "enabled" : true, #是否會被索引,但都會儲存;可以針對一整個_doc "fielddata" : false, #針對text欄位加快排序和彙總(doc_values對text無效);此項官網建議不開啟,非常消耗記憶體 "eager_global_ordinals": true, #是否開啟全域預先載入,加快查詢;此參數只支援text和keyword,keyword預設可用,而text需要設定fielddata屬性 "format" : "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" ,#格式化 此參數代表可接受的時間格式 3種都接受 "ignore_above" : 100, #指定欄位索引和儲存的長度最大值,超過最大值的會被忽略 "ignore_malformed" : false ,#插入文檔時是否忽略類型 預設是false 類型不一致無法插入 "index_options" : "docs" , # 4個選擇性參數 # docs(索引文檔號), # freqs(文檔號 + 詞頻), # positions(文檔號 + 詞頻 + 位置,通常用來距離查詢), # offsets(文檔號 + 詞頻 + 位置 + 位移量,通常被使用在高亮欄位) # 分詞欄位預設是position,其他的預設是docs "index" : true, #該欄位是否會被索引和可查詢 預設true "fields": {"raw": {"type": "keyword"}} ,#可以對一個欄位提供多種索引模式,使用text類型做全文檢索索引,也可使用keyword類型做彙總和排序 "norms" : true, #用於標準化文檔,以便查詢時計算文檔的相關性。建議不開啟 "null_value" : "NULL", #可以讓值為null的欄位顯式的可索引、可搜尋 "position_increment_gap" : 0 ,#片語查詢時可以跨詞查詢 既可變為分詞查詢 預設100 "properties" : {}, #嵌套屬性,例如該欄位是音樂,音樂還有歌詞,類型,歌手等屬性 "search_analyzer" : "ik_max_word" ,#查詢分詞器;一般情況和analyzer對應 "similarity" : "BM25",#用於指定文檔評分模型,參數有三個: # BM25 :ES和Lucene預設的評分模型 # classic :TF/IDF評分 # boolean:布爾模型評分 "store" : true, #預設情況false,其實並不是真沒有儲存,_source欄位裡會儲存一份原始文檔。 # 在某些情況下,store參數有意義,比如一個文檔裡面有title、date和超大的content欄位,如果只想擷取title和date "term_vector" : "no" #預設不儲存向量資訊, # 支援參數yes(term儲存), # with_positions(term + 位置), # with_offsets(term + 位移量), # with_positions_offsets(term + 位置 + 位移量) # 對快速高亮fast vector highlighter能提升效能,但開啟又會加大索引體積,不適合大資料量用}normalizer舉例:{ "settings": { "analysis": { "normalizer": { "my_normalizer": { "type": "custom", "char_filter": [], "filter": ["lowercase", "asciifolding"] } } } }, "mappings": { "type": { "properties": { "foo": { "type": "keyword", "normalizer": "my_normalizer" } } } }}copy_to舉例:{ "mappings": { "my_type": { "properties": { "first_name": { "type": "text", "copy_to": "full_name" }, "last_name": { "type": "text", "copy_to": "full_name" }, "full_name": { "type": "text" } } } }}
Elasticsearch 6.2 Mapping參數說明