【Elasticsearch】refresh與提交

在Elasticsearch中,Translog日志的提交確實涉及到與刷新(Refresh)時寫入Lucene段的數據進行合并,并最終寫入磁盤。以下是詳細的步驟和解釋:

?

一、Translog日志的提交過程

1. 刷新(Refresh)操作

? ?- 寫入Lucene段:刷新操作會將內存中的索引緩沖區(Index Buffer)中的數據寫入到Lucene的倒排索引中,并創建一個新的Lucene段(Segment)。這個過程使得新寫入的數據對搜索操作可見。

? ?- 文件系統緩存:刷新操作將數據寫入到文件系統緩存(File System Cache)中,而不是直接寫入到磁盤。文件系統緩存是操作系統的內存區域,用于緩存磁盤I/O操作。

? ?- 段的創建:刷新操作會創建一個新的Lucene段,但這個段是暫時存儲在文件系統緩存中的,還沒有完全寫入到磁盤。

?

2. Translog記錄

? ?- 記錄操作:在刷新操作的同時,Elasticsearch會將所有寫入操作記錄到Translog中。Translog是一個持久化的日志文件,記錄了所有未提交的寫入操作,以保證數據的可靠性。

? ?- Translog文件:Translog文件存儲在Elasticsearch的數據目錄中,具體路徑為:

? ? ?

```

? ? ?/path/to/elasticsearch/data/nodes/<node_id>/indices/<index_uuid>/<shard_id>/translog/

? ? ?```

?

3. 提交(Commit)操作

? ?- 合并數據:提交操作會將文件系統緩存中的Lucene段完全寫入到磁盤中,并清理Translog。在提交過程中,Elasticsearch會將Translog中的操作與文件系統緩存中的Lucene段進行合并。

? ?- 寫入磁盤:提交操作會將合并后的數據完全寫入到磁盤中,確保數據的持久化。這個過程會創建一個新的Lucene提交點(Commit Point),記錄當前索引的狀態。

? ?- 清理Translog:提交操作完成后,Elasticsearch會清理Translog中已提交的操作,釋放磁盤空間。清理后的Translog只保留尚未提交的寫入操作。

?

二、詳細步驟

1. 寫入內存緩沖區:

? ?- 客戶端發送寫入請求,Elasticsearch將數據寫入到內存中的索引緩沖區(Index Buffer)。

? ?- 同時,Elasticsearch將寫入操作記錄到Translog中。

?

2. 刷新操作:

? ?- 當內存緩沖區的數據達到一定大小或經過一定時間后,Elasticsearch會將內存緩沖區的數據刷新到Lucene索引中,創建一個新的Lucene段。

? ?- 這個Lucene段被寫入到文件系統緩存中,使數據對搜索操作可見。

?

3. 提交操作:

? ?- 定期(默認30分鐘)或在Translog達到一定大小時,Elasticsearch會觸發提交操作。

? ?- 提交操作會將文件系統緩存中的Lucene段完全寫入到磁盤中,并創建一個新的Lucene提交點。

? ?- 提交操作會將Translog中的操作與文件系統緩存中的Lucene段進行合并,確保所有未提交的操作都被持久化。

? ?- 提交操作完成后,Elasticsearch會清理Translog中已提交的操作。

?

三、總結

- 刷新操作:將內存中的數據寫入到Lucene段中,并存儲在文件系統緩存中,使數據對搜索可見。

- 提交操作:將文件系統緩存中的Lucene段完全寫入到磁盤中,清理Translog,確保數據的持久化。

- 合并數據:提交操作會將Translog中的操作與文件系統緩存中的Lucene段進行合并,確保所有未提交的操作都被持久化。

?

通過合理配置刷新和提交操作的頻率,可以平衡搜索性能和數據可靠性,滿足不同應用場景的需求。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/912914.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/912914.shtml
英文地址,請注明出處:http://en.pswp.cn/news/912914.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

服務器異常宕機或重啟導致 RabbitMQ 啟動失敗問題分析與解決方案

服務器異常宕機或重啟導致 RabbitMQ 啟動失敗問題分析與解決方案 一、深度故障診斷與解決方案1. 權限配置不當故障2. 端口占用故障3. 數據目錄殘留故障 二、故障類型對比與診斷矩陣三、完整恢復流程&#xff08;10步法&#xff09;四、風險規避與最佳實踐&#x1f6e1;? 數據保…

車載以太網都有什么協議?

目錄 一、物理層協議(Physical Layer)二、數據鏈路層協議(Data Link Layer)三、網絡層協議(Network Layer)四、傳輸層協議(Transport Layer)五、應用層協議(Application Layer)六、車載網絡融合協議七、標準化組織八、協議分層總結表九、趨勢與未來協議車載以太網涉及…

設計模式之外觀模式:簡化復雜系統的優雅之道

設計模式之外觀模式&#xff1a;簡化復雜系統的優雅之道 今天我們來深入探討設計模式中的外觀模式&#xff08;Facade Pattern&#xff09;。想象一下&#xff0c;你走進一家高檔餐廳&#xff0c;只需要告訴服務員"我要一份A套餐"&#xff0c;而不需要關心廚房里廚師…

《Python 架構之美:三大設計模式實戰指南》

《Python 架構之美:三大設計模式實戰指南》 在軟件世界中,設計模式是經驗的結晶,它為開發者提供了解決重復問題的通用模板。尤其在 Python 這種靈活而強大的語言中,設計模式并非“死規矩”,而更像“編程哲學”,為我們解構復雜系統、提升代碼可維護性提供了寶貴思路。 本…

力扣打卡第十八天 判定平衡二叉樹

110. 平衡二叉樹 給定一個二叉樹&#xff0c;判斷它是否是 平衡二叉樹 示例 1&#xff1a; 輸入&#xff1a;root [3,9,20,null,null,15,7] 輸出&#xff1a;true示例 2&#xff1a; 輸入&#xff1a;root [1,2,2,3,3,null,null,4,4] 輸出&#xff1a;false示例 3&#xf…

Python 物聯網(IoT)與邊緣計算開發實戰(1)

Python 物聯網(IoT)與邊緣計算開發實戰 https://www.python.org/static/community_logos/python-logo-master-v3-TM.png 物聯網基礎與硬件交互 Raspberry Pi GPIO控制 python import RPi.GPIO as GPIO import time # 設置GPIO模式 GPIO.setmode(GPIO.BCM) GPIO.setwarnings(F…

高通SG882G平臺(移遠):1、編譯腳本

文檔提供的編譯&#xff0c;有點問題。所以我重新整理了腳本。 build-lib.sh #!/bin/bashfunction prepare_build() {if [ ! -d download ]; thenmkdir downloadfilocal MODIFIED_DIRfile-replacelocal FILE_NAMEset_bb_env.shcp ${MODIFIED_DIR}/${FILE_NAME} \poky/qti-con…

Mac電腦 觸摸板增強工具 BetterTouchTool

BetterTouchTool mac版&#xff0c;是一款觸摸板增強工具&#xff0c;允許用戶使用各種手勢來控制其計算機。 Bettertouchtool mac是一個小而高效的macOS應用程序&#xff0c;旨在幫助您為手勢定義快捷方式。 此外&#xff0c;Bettertouchtool可用于使用常規鼠標和鍵盤快捷鍵…

LSTM(Long Short-Term Memory)模型的深度解析

在6.28號我發了一個博客《RNN&#xff08;循環神經網絡&#xff09;與LSTM&#xff08;長短期記憶網絡&#xff09;輸出的詳細對比分析》&#xff0c;但是我并未詳細講解LSTM&#xff0c;LSTM是循環神經網絡中的一個模型&#xff0c;然而通過這篇博客給大家深度解析一下LSTM&am…

WebRTC 安全性分析研究

一、概述 本文著重分析 WebRTC 的安全性&#xff0c;分析其安全性考慮及安全性實現&#xff0c;回答了以下問題: WebRTC 加密過程需要或依賴 CA (Certificate Authority)嗎? 不需要 CA, 但可能依賴 CA.DTLS-SRTP 加密機制中, DTLS 與 SRTP 的關系是什么? DTLS 實現秘鑰交換…

阿里云操作系統控制臺如何解決三大OS運維難題?

背景 操作系統運維常常遇到以下問題&#xff1a; 1.問題定界浪費大量人力&#xff1a;當業務出現問題時&#xff0c;客戶在不清楚是操作系統問題還是業務問題時&#xff0c;往往會拉上所有相關團隊一起排查&#xff0c;浪費人力。 2.問題定位時間長&#xff1a;通過操作系統…

自由學習記錄(65)

其他腳本語言也可以熱更新&#xff0c;但 Lua 特別適合&#xff0c;游戲主程序通常是 C&#xff0c;Lua 只是邏輯腳本&#xff0c;改 Lua 不影響主程序運行 語言應用場景PythonWeb 后端 / 數據處理服務JavaScript瀏覽器端熱重載 / React HMRC#Unity 的 ILRuntime / HybridCLR …

抗輻照芯片在核電廠火災探測器中的應用優勢與性能解析

一、引言 核電廠作為能源供應的關鍵設施&#xff0c;其安全性備受關注。火災是威脅核電廠安全運行的重要風險因素之一。在核電廠的特殊環境下&#xff0c;火災探測器肩負著及時發現火情、保障核電廠安全運行的重任。然而&#xff0c;核電廠存在高能輻射等復雜環境因素&#xf…

FastAPI+Sqlite+HTML的登錄注冊與文件上傳系統:完整實現指南

作為一名開發者&#xff0c;你是否曾想過親手搭建一個包含用戶注冊、登錄認證和文件上傳功能的完整 Web 系統&#xff1f;今天&#xff0c;我將帶大家一步步拆解一個基于FastAPI&#xff08;后端&#xff09;和原生 JavaScript&#xff08;前端&#xff09;的前后端分離項目&am…

【動態規劃】P11188 「KDOI-10」商店砍價|普及+

本文涉及知識點 C動態規劃 P11188 「KDOI-10」商店砍價 題目背景 English Statement. You must submit your code at the Chinese version of the statement. 您可以點擊 這里 下載本場比賽的選手文件。 You can click here to download all tasks and examples of the c…

國產LHR3040芯片是REF5040的代替品

LHR3040是一款噪聲低、漂移低、精度高的電壓基準產品系列。這些基準同時支持灌電流和拉電流&#xff0c;并且具有出色的線性和負載調節性能。采用專有的設計技術實現了出色的溫漂(3ppm/℃)和高精度(0.05%)。這些特性與極低噪聲相結合&#xff0c;使LHR30XX系列成為高精度數據采…

專題:2025AI營銷市場發展研究報告|附400+份報告PDF匯總下載

原文鏈接&#xff1a;https://tecdat.cn/?p42800 在數字化浪潮席卷全球的當下&#xff0c;AI營銷正成為驅動企業增長的核心動力。 從市場規模來看&#xff0c;AI營銷正經歷著爆發式增長&#xff0c;生成式AI的出現更是為其注入了強大活力。在應用層面&#xff0c;AI已滲透到營…

深入對比 Python 中的 `__repr__` 與 `__str__`:選擇正確的對象表示方法

文章目錄 核心概念對比1. 根本目的差異2. 調用場景對比深入解析:何時使用哪種方法場景 1:開發者調試 vs 用戶展示場景 2:技術表示 vs 簡化視圖高級對比:特殊場景處理1. 容器中的對象表示2. 日志記錄的最佳實踐3. 異常信息展示最佳實踐指南1. 何時實現哪個方法?2. 實現原則…

萬能公式基分析重構補丁復分析和歐拉公式原理推導

基分析&#xff0c; x11 x2-1 x3i 存在加法法則 x1x20 所以x1-x2 存在鏈式基乘法法則 x1x1*x1x2*x2 x2x3*x3 x3x1*x3 -x1x2x3 將鏈式基乘法操作 二次&#xff0c;三次&#xff0c;直至n次化簡得 一次 x1 -x1 x3 矩陣 x1 x1 x2 x2 x3 …