运行多个Solr实例与使用类

时间:2016-06-28 13:52:36

标签: apache search elasticsearch indexing solr

所以,在我目前的项目中,我们有两个类 - 比如苹果和橘子。它们彼此相关,用户总是需要购买苹果,但他们可以在购买苹果时添加橙子。

我们已经将苹果编入索引并对其进行搜索。我们现在想要设置一个补充“你想加入你的订单吗?”类型的东西。

问题是是否将这些橙子添加到现有索引(装满苹果)或创建新索引?性能影响是什么?我认为如果它们在同一个索引中,我们最终可以通过执行类似type: apples OR oranges的操作返回同一个查询中的两个?

1 个答案:

答案 0 :(得分:0)

这是一个有点主观的问题,所以这里有一些决定因素:

  • 如果您需要一次查询或期望查询,请使用相同的索引。 (或者集合,如果SolrCloud - 您实际上可以在单个查询中查询两个SolrCloud集合,但相关性排序可能很奇怪。)
  • 如果Apples和Oranges的架构有所不同,或者您希望它的架构不同,那么这就是不同索引的重点
  • 类型:与其他标准相比,苹果过滤器听起来不太可能消除您的大部分文档集。它可以保存在filterCache中,这很快,但我有一些奇怪的性能结果,无限制的过滤查询与高度限制性的查询相结合。唯一具体的答案是对您的特定索引运行测试。
  • Solr / Lucene的一些内存方面可以使用索引大小进行扩展,而不是查询结果大小。索引越大,GC调整就越重要。如果可以,这是优先选择不同索引的一点。