核心數(shù)據(jù)類型 text & keyword
Text:
1:支持分詞,全文檢索,支持模糊、精確查詢,不支持聚合,排序操作;
2:test類型的最大支持的字符長度無限制,適合大字段存儲;
使用場景:
存儲全文搜索數(shù)據(jù), 例如: 郵箱內(nèi)容、地址、代碼塊、博客文章內(nèi)容等。
默認(rèn)結(jié)合standard analyzer(標(biāo)準(zhǔn)解析器)對文本進(jìn)行分詞、倒排索引。
默認(rèn)結(jié)合標(biāo)準(zhǔn)分析器進(jìn)行詞命中、詞頻相關(guān)度打分。
keyword:
1:不進(jìn)行分詞,直接索引,支持模糊、支持精確匹配,支持聚合、排序操作。
2:keyword類型的最大支持的長度為——32766個UTF-8類型的字符,可以通過設(shè)置ignore_above指定自持字符長度,超過給定長度后的數(shù)據(jù)將不被索引,無法通過term精確匹配檢索返回結(jié)果。
使用場景:
存儲郵箱號碼、url、name、title,手機(jī)號碼、主機(jī)名、狀態(tài)碼、郵政編碼、標(biāo)簽、年齡、性別等數(shù)據(jù)。
用于篩選數(shù)據(jù)(例如: select * from x where status='open')、排序、聚合(統(tǒng)計)。
直接將完整的文本保存到倒排索引中。
Mapping參數(shù)
index
index定義字段的分析類型以及檢索方式,控制字段值是否被索引.他可以設(shè)置成 true 或者 false。沒有被索引的字段將無法搜索
如果是no,則無法通過檢索查詢到該字段;
如果設(shè)置為not_analyzed則會將整個字段存儲為關(guān)鍵詞,常用于漢字短語、郵箱等復(fù)雜的字符串;
如果設(shè)置為analyzed則將會通過默認(rèn)的standard分析器進(jìn)行分析
Dynamic
dynamic屬性:默認(rèn)值為true,允許動態(tài)地向文檔類型中加入新的字段。推薦設(shè)置為false,禁止向文檔中添加字段,這樣,文檔類型的所有字段必須在索引映射的properties屬性中顯式定義,在properties字段中未定義的字段都將會ElasticSearch忽略。
dynamic設(shè)置為ture:默認(rèn)值,新增加的字段被添加到索引映射中;
dynamic設(shè)置為false:新增加的字段會被忽略;
dynamic設(shè)置為strict:當(dāng)向文檔中新增字段時,ElasticSearch引擎拋出異常;
集群分片
Elasticsearch 有一個硬編碼限制,單個分片內(nèi)的文檔總數(shù)不得超過 2147483519 個。
一般來說這個限制在日志場景下是不太會觸發(fā)的,但是如果做 TSDB 用,則需要多加注意!
文章題目:Elasticsearch重要概念text,keyword,index,Dynamic
網(wǎng)頁地址:
http://weahome.cn/article/iecedi.html