亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行Elasticsearch的Refresh與Flush操作

發布時間:2021-11-25 16:51:46 來源:億速云 閱讀:165 作者:柒染 欄目:編程語言

本篇文章給大家分享的是有關如何進行Elasticsearch的Refresh與Flush操作,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

初次接觸到這兩個概念,估計都會覺得他們沒什么差別,都是為了在操作索引之后讓索引可以被實時性的搜索,不過它們還是有點不同的。
Elasticsearch底層依賴Lucene,這里我們介紹下Lucene的segment, Reopen,commit。
Segment
在ES中,基本的存儲單元是shard(分片),但是在更底層的Lucene上稍微有點不同,ES的每一個shard是Lucene的一個index(索引),Lucene的索引由多個segment組成,每個segment就是ES文檔的倒序索引,里面包含了一些term(詞)的mapping(映射)。

如何進行Elasticsearch的Refresh與Flush操作

當每個ES的文檔創建的時候,都會寫入一個新的segment中,因此每次寫入的都是新的segment,所以不需要修改之前的segment。在刪除文檔的時候,只是在它屬于的segment哪里標記為已刪除就可,沒有真正的從磁盤中抹除。更新也是同樣的,只是在對應之前segment哪里標記為邏輯刪除,然后新建一個新的segment。
Lucene Reopen
Reopen是為了讓數據可以可以被搜索到,盡管這個時候數據可以被搜索到,但是不一定保證數據已經被持久化到磁盤中。
Lucene Commit
Commit就是為了讓數據持久化,每一次的Commit,不同segment的數據都會被持久化到磁盤中,雖然這樣可以讓數據更安全,但是每一次操作都會消耗系統資源,會有大量的IO操作。
Translog
ES在持久化的時候引入了一種新的方式,translog(transaction log),一個文檔被索引之后,就會被添加到內存緩沖區,并且 追加到了translog.

如何進行Elasticsearch的Refresh與Flush操作

ES的Refresh

默認情況下,ES會每秒refresh一次,每次操作都會把內存緩沖區的內容拷貝到新創建的segment中去,這一步是在內存中操作的,這個時候新的文檔就會被搜索了。也就是說ES是近實時性的搜索,差不多1s鐘,才能讓數據可以被搜索到。
如何進行Elasticsearch的Refresh與Flush操作

ES的Flush

Flush操作意味著,所有在內存緩沖區的文檔被寫到新的Lucene Segment中,也就是所有在內存中的segment被提交到了磁盤,同時清除translog。

如何進行Elasticsearch的Refresh與Flush操作

一般Flush的時間間隔會比較久,默認30分鐘,或者當translog達到了一定的大小,也會觸發flush操作。

最后

簡單來說,ES的refresh操作是為了讓最新的數據可以立即被搜索到。而flush操作則是為了讓數據持久化到磁盤中,另外ES的搜索是在內存中處理的,因此Flush操作不影響數據能否被搜索到。
translog一般在進行flush的時候被清空,一般在fsync和commit的時候被持久化到磁盤,默認的translog是在6.x版本以后,每次請求都會fsync到磁盤。不過有些index.translog的配置可以設置

以上就是如何進行Elasticsearch的Refresh與Flush操作,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乾安县| 浙江省| 长垣县| 柳江县| 砀山县| 平顶山市| 彩票| 武隆县| 天台县| 扶余县| 金乡县| 长汀县| 巴楚县| 古田县| 黄石市| 广州市| 毕节市| 怀柔区| 安平县| 陇川县| 福鼎市| 佛教| 安图县| 泸州市| 广丰县| 西华县| 巴中市| 德惠市| 阿拉善右旗| 东丽区| 正定县| 临城县| 通道| 彰化县| 昌江| 白水县| 宁海县| 榆社县| 疏勒县| 台山市| 顺义区|