我正在使用jdbc河來同步Elasticsearch和數據庫。已知的問題是,從數據庫中刪除的行保留在ES中,jdbc河插件不能解決這個問題。 jdbc river的作者提出瞭解決問題的方法:Elasticsearch數據庫同步
一個好方法是窗口索引。每個時間範圍(可能每天或每週一次)爲河流創建一個新索引,並添加到別名中。過了一段時間後,舊指數將會下跌。這種維護類似於> logstash索引,但它不在河流範圍內。
我的問題是,這是什麼意思準確的方式?
可以說我有表中的數據庫調用Table有600萬行,我試試如下:
- 創建河叫river1,與指數1。 index1包含table1的索引 行。索引1被添加到別名。
- table1中的某些行在白天被刪除,因此每天晚上我會創建另一條名爲river2的河流,其索引爲2,其中 僅包含table1中現在存在的內容。
- 從別名中刪除舊的索引1並將索引2添加到別名。
- 刪除舊的index1。
這是正確的方法嗎?