1. 程式人生 > >ElasticSearch 6.2 Mapping參數說明

ElasticSearch 6.2 Mapping參數說明

ping 接受 value led 說明 ear 新增 rst type

背景:

由於本人使用的是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參數說明