2014-09-21 53 views
1

我們在項目中使用Solr 4.8。Solr 4中多核的正確使用案例

一位同事在同一實例中創建了2個內核,以便從同一個源索引80GB文檔XML。他說,一個內核最多可以包含50GB的索引數據,所以我們將80GB分成2個內核。這些核心具有相同的配置文件和模式。 對於索引,他在第一個核心中放置了奇數文檔,甚至在第二個核心中放置了文檔。 對於搜索,他使用SolrJ API之一查詢每個核心的所有文檔。

由於我們只有一臺服務器,分發和複製不適用於該項目。

我的問題:這個架構是Solr多核的正確用例嗎?任何人都有一些建議?

回答

0

通常創建核心以區分不同收集實體格式的應用程序數據。 將核心數據從較低版本遷移到較高版本通常會變得很有用。 solr中可以有很多內核。假設你從兩個不同的來源收集數據,如X來源和Y來源的其他來源,我們通常會將它們存儲在2個獨立的核心中。

在你的情況下,在同一組數據集合上使用2個內核將是個好主意,因爲內存限制是巨大的。通常單個內核可以容納大量的內存。根據我自己的資源能力(硬件配置如RAM和HDD)

3

而不是存儲兩個索引和手動管理文件在不同核心上的存儲,您應該創建solrcloud,它會自動將數據分配到碎片。它還允許您在多臺機器上分發數據。

它也會使你的表現更好,查詢會更容易,你也可以添加多個集合(使用不同的模式)。

+0

謝謝,我也想到了SolrCloud。我們只有一臺擁有8GB內存的機器,我們可以在同一臺機器上創建2個碎片,如下所示:https://cwiki.apache.org/confluence/display/solr/Getting+Started+with+SolrCloud#GettingStartedwithSolrCloud- SimpleTwo-ShardClusterontheSameMachine – 2014-09-22 07:35:48