SOLR One系列(核心)VS.许多

时间:2013-03-13 14:29:04

标签: optimization solr solaris

我有一个来自MySQL数据库的多个实体,这些实体将在SOLR中编入索引。

为了获得最佳性能结果(查询时间),最佳方法是什么?

  • 使用单个SOLR集合(核心)和实体类型的字段
  • 或者为每个实体类型设置一个集合(核心)

由于

1 个答案:

答案 0 :(得分:3)

我会添加一些参数供您考虑(主要是劝阻每个实体的一个核心方法,但不仅仅是出于您特别要求的性能原因)

  1. 更多核心意味着更多终端。您的申请需要知道这些。您可能会发现跨核心运行查询很困难。例如,如果您使用公共属性(例如名称)进行搜索,则必须对每个核心运行多个查询并聚合结果。这将错过您在查询单个核心时开箱即用的相关性方面。

  2. 考虑向您的数据库发出最少的请求。 N + 1个jdbc连接大大减慢了索引速度。相反,尝试在视图中汇总结果,如果您可以触发单个查询,则索引速度会快得多。

  3. 核心不可能对公共属性进行范围查询。例如 - 如果您将书籍和音乐CD的价格存储在不同的核心中,则无法获得X和Y价格范围之间的所有产品。

  4. 分面功能也会受到影响。

  5. 因此,虽然您可以通过以每个实体1个核心的形式并行化来感知某些索引时间性能增益,但我觉得这可能会减少您可以从中受益的功能。