溢寫到文件系統緩存
- 當數據寫入到ES分片時,會首先寫入到內存中,然后通過內存的buffer生成一個segment,並刷到文件系統緩存中,數據可以被檢索(注意不是直接刷到磁盤)
- ES中默認1秒,refresh一次
寫translog保障容錯
- 在寫入到內存中的同時,也會記錄translog日志,在refresh期間出現異常,會根據translog來進行數據恢復
- 等到文件系統緩存中的segment數據都刷到磁盤中,清空translog文件
flush到磁盤
- ES默認每隔30分鍾會將文件系統緩存的數據刷入到磁盤
segment合並
- Segment太多時,ES定期會將多個segment合並成為大的segment,減少索引查詢時IO開銷,此階段ES會真正的物理刪除(之前執行過的delete的數據)