日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

elasticsearch mapping之store

發布時間:2024/9/16 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 elasticsearch mapping之store 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

_source字段存儲的是索引的原始內容,那store屬性的設置是為何呢?es為什么要把store的默認取值設置為no?設置為yes是否是重復的存儲呢?

默認情況下,字段的值是可以被索引到的(即:index:true),但是沒有被存儲(即:store: false),而這就意味著該字段可以search到,但是原始字段的值確無法被檢索。
因為字段的值已經在_source中有一份了,這是默認存儲的。如果文檔的某一字段設置了 store 為 yes (默認為 no),這時候會在 _source 存儲之外再為這個字段獨立進行存儲,這么做的目的主要是針對內容比較多的字段,放到 _source 返回的話,因為_source 是把所有字段保存為一份文檔,命中后讀取只需要一次 IO,包含內容特別多的字段會很占帶寬影響性能,通常我們也不需要完整的內容返回(可能只關心摘要),這時候就沒必要放到 _source 里一起返回了(當然也可以在查詢時指定返回字段)。
對內容太長的字段,將 store 設置為 yes ,一般來說還應該在 _source 排除 exclude 掉這個字段,這時候索引的字段,不會保存在 _source 里了,會獨立存儲一份,查詢時 _source 里也沒有這個字段了,但是還是可以通過指定返回字段來獲取,但是會有額外的 IO 開銷,因為 _source 的讀取只有一次 IO ,而已經 exclude 并設置 store 的字段,是獨立存儲的需要一個新的 IO 。
例如,如果您的文檔包含a title,a date和非常大的content 字段,您可能只想檢索title和date,而不是從更大的_source字段中抽取想要的字段:

PUT my_index {"mappings": {"properties": {"title": {"type": "text","store": true },"date": {"type": "date","store": true },"content": {"type": "text"}}} }PUT my_index/_doc/1 {"title": "Some short title","date": "2015-01-01","content": "A very long content field..." }GET my_index/_search {"query": {"bool": {"filter": {"match": {"title": "Some"}}}},"stored_fields": [ "title", "date" ] }

總結

以上是生活随笔為你收集整理的elasticsearch mapping之store的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。