elasticsearch 中的_all、_source和index、store

elasticsearch 中的_all、_source和index、store
一、_all
二、_source
四、store
一、_all
_all字段默認是關閉的,如果要開啓_all字段,索引增大是不言而喻的。_all字段開啓適用於不指定搜索某一個字段,根據關鍵詞,搜索整個文檔內容

二、_source
“includes”: [“path1.", "path2.”],包含那些字段,當"enabled": true,時
“excludes”: [“path3.*”] 不包含那些字段,當"enabled": true,時

存儲文檔時存儲那些字段的原始值到elasticsearch,默認全部存儲

如果_source不存儲一個字段,這個字段的元數據是無法返回的。

在創建一個document的時候,使用的那個放在request
body中的json串,默認情況下,在get的時候,會原封不動的給我們返回回來。

_source字段默認是存儲的,如果某個字段內容非常多,業務裏面只需要能對該字段進行搜索,最後返回文檔id,查看文檔內容會再次到mysql或者hbase中取數據,把大字段的內容存在Elasticsearch中只會增大索引,這一點文檔數量越大結果越明顯,如果一條文檔節省幾KB,放大到億萬級的量結果也是非常可觀的。

##三、index

“id”:{
“type”: “keyword”,
“index”: true,
},

no:不把此字段添加到索引中,也就是不建索引,此字段不可查詢
not_analyzed:將字段的原始值放入索引中,作爲一個獨立的term,它是除string字段以外的所有字段的默認值。
analyzed:string字段的默認值,會先進行分析後,再把分析的term結果存入索引中。

四、store
“info”:{
“type”: “text”,
“store”: true
},

默認 no,false

是否在 _source 之外在獨立(另外)存儲一份,這裏要說一下 _source 指的是源文檔

當某個字段需沒有存儲在_source中時,對這個字段的高亮時無效的,因爲沒有存儲這個字段的元數據,把這個字段的store屬性設置爲true,支持高亮。
————————————————
版權聲明:本文爲CSDN博主「dalong_bamboo」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/dalong_bamboo/article/details/89051606

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章