2013-03-13 37 views
3

我有一個MySQL數據庫中的多個實體將在SOLR中索引。SOLR One系列(核心)VS.很多

爲了獲得最佳性能結果(查詢時間),最佳方法是什麼?

  • 使用單一SOLR集合(核)與字段的實體類型
  • 或具有每個實體類型的集合(核心)

感謝

回答

3

我想補充一個您需要考慮的參數很少(大多數情況下不鼓勵每個實體的一個核心,但不僅僅是出於您特別要求的性能原因)

  1. 更多的內核意味着更多的端點。您的應用程序需要了解此類信息。你可能會發現很難在覈心間運行查詢。例如,如果您使用通用屬性(例如名稱)進行搜索,則必須對每個核心運行多個查詢並彙總結果。而這會錯過你在查詢單個核心的時候出現的相關性問題。

  2. 考慮向數據庫發出最少的請求。 N + 1個jdbc連接極大地減慢了索引。相反,嘗試在視圖中彙總結果,並且如果您可以觸發單個查詢,那麼您的索引將快得多。

  3. 通用屬性的範圍查詢將不可能跨核心。例如 - 如果您將Books和Music CD的價格存儲在不同的核心中,則無法獲得X和Y價格範圍之間的所有產品。

  4. 刻面特徵也將受到影響。

所以,雖然你可以通過在每個實體1個核的形式並行察覺到還有一些指標時的性能提升,我覺得這可能會降低,你可以從中受益的特點。

+0

感謝您解決這個問題! – GabrielCol 2013-03-14 11:53:34