Elasticsearch 重要概念text , keyword , index ,Dynamic

核心數據類型 text & keyword

Text:

    1:支持分詞,全文檢索,支持模糊、精確查詢,不支持聚合,排序操作;
    2:test類型的最大支持的字符長度無限制,適合大字段存儲;
使用場景:
    存儲全文搜索數據, 例如: 郵箱內容、地址、代碼塊、博客文章內容等。
    默認結合standard analyzer(標準解析器)對文本進行分詞、倒排索引。
    默認結合標準分析器進行詞命中、詞頻相關度打分。

keyword:

1:不進行分詞,直接索引,支持模糊、支持精確匹配,支持聚合、排序操作。
2:keyword類型的最大支持的長度爲——32766個UTF-8類型的字符,可以通過設置ignore_above指定自持字符長度,超過給定長度後的數據將不被索引,無法通過term精確匹配檢索返回結果。

使用場景:
存儲郵箱號碼、url、name、title,手機號碼、主機名、狀態碼、郵政編碼、標籤、年齡、性別等數據。
用於篩選數據(例如: select * from x where status='open')、排序、聚合(統計)。
直接將完整的文本保存到倒排索引中。

Mapping參數

index

index定義字段的分析類型以及檢索方式,控制字段值是否被索引.他可以設置成 true 或者 false。沒有被索引的字段將無法搜索

如果是no,則無法通過檢索查詢到該字段;
如果設置爲not_analyzed則會將整個字段存儲爲關鍵詞,常用於漢字短語、郵箱等複雜的字符串;
如果設置爲analyzed則將會通過默認的standard分析器進行分析

Dynamic

dynamic屬性:默認值爲true,允許動態地向文檔類型中加入新的字段。推薦設置爲false,禁止向文檔中添加字段,這樣,文檔類型的所有字段必須在索引映射的properties屬性中顯式定義,在properties字段中未定義的字段都將會ElasticSearch忽略。
dynamic設置爲ture:默認值,新增加的字段被添加到索引映射中;
dynamic設置爲false:新增加的字段會被忽略;
dynamic設置爲strict:當向文檔中新增字段時,ElasticSearch引擎拋出異常;

集羣分片

Elasticsearch 有一個硬編碼限制,單個分片內的文檔總數不得超過 2147483519 個。
一般來說這個限制在日誌場景下是不太會觸發的,但是如果做 TSDB 用,則需要多加註意!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章