Apache Solr - 同时搜索多个不同的核心(具有不同文档结构的核心)

时间:2012-02-14 10:17:37

标签: solr solrj

我有一个运行2个内核的Apache Solr安装:

  • 机器核心
  • 通知核心

每个核心都对数据库表进行索引,因此核心的内容完全不同 - 按结构和实际内容 现在我想在两个核心上运行搜索查询,最后从2个核心组合中获得单个结果集。对于一个简单的例子,如果我要搜索“2010”,我希望我的结果是相关的机器文档和通知文档,每个都来自它自己的核心,但是作为结果集组合,按相关性排序。 预期结果集示例:

  • 机器#1
  • 机器#2
  • 通知#1
  • 机器#3
  • 通知#2
  • 通知#3
  • 机器#4

我将通过SolrJ [Java连接器]与Solr进行交互。

有人有任何想法吗?我想做什么甚至可能?

谢谢!

2 个答案:

答案 0 :(得分:0)

你的问题类似于一个问题,如果说“我有一个电子商务门户网站,我在其中销售书籍,电影,音乐等以及每个搜索其中一个的多个solr核心”。说一个书名也可能是一个电影名称,但是当从多个绝对不同的模式中检索结果时如何解决排名/相关性难题呢?

对于这个Solr,它不会帮助你解决一些开箱即用的问题。你将不得不建立一些智慧的人群或集体智慧算法来重新排名并在你的每个核心返回的基础上做相关的事情。

答案 1 :(得分:0)

  

核心内容完全不同 - 按结构和实际内容

  

我希望我的结果是相关的机器文档和通知文档,每个都来自它自己的核心,但结合起来作为结果集

意味着两个内核可能存在一些共同字段,您希望它们显示在组合结果集中。

我建议用这些常见字段创建一个新核心。唯一的缺点是您必须将机器和通知索引到两个核心。