ElasticSuite追蹤索引導致Elasticsearch發生問題
NOTE
ElasticSuite及其關聯應用程式是Adobe目前不支援的協力廠商工具。 此內容僅供參考,不代表已啟用支援涵蓋範圍的內容。
本文討論ElasticSuite外掛程式產生的追蹤索引所導致的Elasticsearch記憶體問題。
受影響的產品和版本
2.8.0之前的ElasticSuite版本無法定期清理追蹤索引。
2.9.8 / 2.10.7之前的ElasticSuite版本會儲存每日索引中的追蹤索引,這會造成開啟索引的數目增加。
問題
如果已安裝ElasticSuite協力廠商外掛程式,您可能會遇到Elasticsearch記憶體問題,而Elasticsearch服務可能會因ElasticSuite追蹤索引而當機。 症狀包括:
- Elasticsearch當機且沒有記憶體錯誤。
- 執行健康情況命令時
curl -m1 localhost:9200/_cluster/health?pretty
或curl -m1 elasticsearch.internal:9200/_cluster/health?pretty
(對於入門客戶)有數百或數千個unassigned_shards
- Elasticsearch或網站效能嚴重降低。
- 「在您的叢集中找不到連線的節點」 Elasticsearch部署或記錄錯誤。
- "正在拒絕將更新對應到 [<*>_ tracking_log_event _<*>]" 在部署或記錄錯誤中。
原因
ElasticSuite有建立追蹤索引的新功能。 這些追蹤索引會記錄哪些搜尋詞最常使用、哪些辭彙產生最多週轉,以及哪些辭彙會導致「沒有結果」頁面,讓商家可以建立同義詞來修正它們。 它似乎不會刪除追蹤索引,因此Elasticsearch會用盡資源並當機。
解決方案
請升級您的ElasticSuite版本,以便能夠定期清理追蹤索引
將ElasticSuite外掛程式升級至高於2.8.0的版本後,即可設定索引的定期清除。
前往 商店 > 設定 > 追蹤 > 全域設定 > 保留延遲
預設保留期間為365天。 您可縮短至30或15天。
升級您的ElasticSuite版本,使用每月基準的索引,而非每日基準的索引
將ElasticSuite外掛程式升級為> 2.9.8 / 2.10.7版後,追蹤索引將每月更新。
您仍可縮短保留時間:
前往 商店 > 設定 > 追蹤 > 全域設定 > 保留延遲
預設保留期為12個月(將產生12個索引)。 您可縮短至3或6個月。
使用cronjob來清除追蹤索引資料
建立cron工作以刪除追蹤索引。 此命令會刪除上個月建立的索引:
curl -XDELETE localhost:9200/<name in index> * **\_tracking\_log** * _$(date
+'%Y%m' -d 'last month')*
如果您想要在設定的時間頻率刪除索引,請參閱開發人員檔案中的下列文章以建立cron工作:
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a