同事反應在服務上搜尋不到幾筆資料;但直接用文件識別碼 _id
,是可以在搜尋引擎(elasticsearch
)上找到。
我們嘗試了幾種方式確認問題:
- 以日期排序發現資料停留在 2023 年。
- 將關鍵字拆解丟進去,只能找到 2023 年前的資料。
檢查爬蟲資料是正確無誤,也有寫入 elasticsearch,檢查 mapping
也看不出異常。
後來我人工比對不同資料集的索引資料,發現找不到資料的有 refresh_inverval: -1
回想到之前在做 elasticsearch
升級時,需要重新索引資料,因為資料量很大,所以把 ES 的索引間隔關閉,在手動觸發去做批次索引。
看來就是那次關閉後,忘記開啟,導致後續資料無法正確索引。
直接透過 API 開啟後,就解決問題:
curl -X PUT /{es_index}/_settings -H 'content-type: application/json' -d '{"index" : {"refresh_interval" : null}}'