2012-10-19 73 views
1

我正在考慮在具有大量記錄的我們的Elasticsearch集羣中從一個索引轉移到基於日期的索引()。Elasticsearch多指標性能

真正的問題是它如何影響ES集羣中索引,搜索和映射的性能?

從數百個大型指數中搜索一個龐大的指數是否需要更多時間?

回答

2

搜索一個大型索引需要較少的時間,而不是數百個較小的索引。

以這種方式打破索引可以幫助提高性能,如果您主要只搜索其中一個分解索引。就你而言,如果你經常需要搜索某一天添加​​的記錄,那麼你可能會在這方面提供幫助,性能明智。如果你將主要搜索整個索引範圍,那麼在單個索引中搜索通常會更好。

+0

當然,我感覺就像你說的。分解的要點是提供特定日期(或幾天)的搜索。但是,如果有時我需要搜索所有這些信息呢? 你知道一些鏈接或數據如何改變速度(如果可能的話,數字)? – gakhov

+0

不幸的是,沒有。我很自信地看到一些數字,說明這種實施會產生多大的影響。沒有運氣實際上找到它。當然,與您的案例相關程度可能取決於許多變量(索引大小,存儲的數據類型,數據索引,跨索引的術語重複,查詢複雜性,多線程/處理,只是猜測幾個這樣的變量)。 – femtoRgon

+0

當然,實驗的相關性總是一個問題,但至少它可以幫助估計重大變化對性能的影響。順便說一下,剛剛得到一個意見,多指數可以提高性能,如果你有每個索引的節點(當然,在我的情況不相關);) – gakhov

1

最後,我們在我們公司實施了ES多重索引。對於我們的應用,我們選擇了月度指數策略,所以我們每個月都會創建一個新指數

當然,正如@femtoRgon所建議的那樣,通過所有較小索引的搜索需要多一點,但是由於邏輯的原因,應用程序的速度已經提高了。

所以,我建議大家誰想要移動從一個指數的多指數:您的應用程序的化妝研究需要,選擇整個索引的適當片(如果它真的需要)。

作爲例子,我可以分享我們的應用程序的一些研究成果,可以幫助我們做出使用月度指標的決定:我們查詢的

  • 90-95%,僅去年3月
  • 我們有大約4個大組查詢:今天,上週,上個月和最後3個月(當然,我們可以創建每週或每日的指數,但它們會太小,因爲我們沒有足夠的文件裏面)
  • 我們可以向客戶解釋他爲什麼需要等待,如果他讓「非正常」曲整個期間(所有指數)。