簡體   English   中英

Elasticsearch 使用 Nodejs 的索引速度

[英]Elasticsearch indexing speed with Nodejs

我有一個包含大量文檔的 Elasticsearch 索引。 到目前為止,我一直在使用 javascript 和 Node.js。 我做了一個 cron 作業,每 24 小時運行一次,以根據任何元數據更改單獨更新文檔。 你們中的一些人可能知道,這可能是最慢的方法。 單線程 Node.js 在 Elasticsearch 上有單獨的索引。 當我運行 cron 作業時,它以蝸牛般的速度運行。 我可以每 1.5-2 秒更新一次文檔。 這意味着更新所有文檔大約需要 27 小時。 我使用的是免費級別的 AWS ES 實例,因此我無法訪問某些可以幫助我加快流程的功能。

有誰知道加快索引的方法? 如果我要求進行批量更新,javascript 會如何體現? 如果我要使用另一種語言對其進行多線程處理,最快的選擇是什么?

我不明白您的問題“如果我要進行批量更新,那將如何在 javascript 中體現出來?”。

無論任何語言/框架如何,批量更新都應該是最佳解決方案。 當然,您可以探索其他語言,例如 Ruby,以利用線程使批量更新更加分布式和快速。

根據經驗,批量大小為 b/w 4-7k 的批量更新工作得很好。 您可能希望在此范圍內微調大小。

確保refresh_interval的值設置為非常大的值。 這將確保文檔不會被非常頻繁地編入索引。 IMO 默認值也可以。 在這里閱讀更多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM