2014-09-21 80 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