David Chao

David Chao

#
ELK 系列 筆記

Reindex For Elastic ( Version 7.6 )

2020/05/08

如果你也是將 Elastic 當作搜尋快取再使用的話,一定也會常常碰到一些情況需要 Reindex。

我們一開始在使用的時候常碰到幾個問題,Logstash 沒指定 db 欄位的 type,到了 elastic 上後結果跟預期不符,或是 db / elastic 上的資料不一致等等問題,這時候我們需要的就是 reindex。

以下就是 reindex 的步驟與一些注意事項。

先開新的 index 假設叫做 member,後面我們加上版本號 member_version_1

如果有需要可以先指定 field 的 type

在 reindex 的時候就不要 copy 這欄的資料,用 ingest node 搭配 pipeline

先新增 ingest node

官網相關說明

準備 OK 開始 reindex

通常 reindex 都需要一段時間為避免 timeout 加上 wait_for_completion,會回傳 task 的 id,可以在用 task 查詢 reindex 的狀況。

接下來要設定 alias,如果原本的 index 就叫 member 沒有加上 version 的話,我們就只能先刪掉原本的 index,再加上 alias

加上 alias

如果原本就有設定 alias 的話要先移除

結束,以上就是盡可能平滑無痛 reindex 的步驟,透過 alias 的方式,基本上對前端查詢不會有什麼影響,就算要花一段時間重建也不用擔心囉!

發佈留言