Solr'加入'使用文本字段(来自另一个集合)

时间:2013-03-08 17:08:25

标签: solr

对于一个快速项目(不是作业,我保证!),我有一个简单的solr安装,有两个核心,'人'和'工作'。每个都有一些结构化数据,但也有一个文本字段。

我想使用people.text查询jobs.text。

我无法找到这样的示例,SolrQuerySyntax页面也没有引用集合或核心。

没有使用真实“加入”的字段。

有可能吗?你能指点我一个例子/教程吗?

感谢。

1 个答案:

答案 0 :(得分:1)

Solr Joins可以跨核心执行。请参阅this StackOverflow帖子,了解如何操作。

但除了那篇帖子之外还有一件事Solr-Wiki说:

  

Solr Joins实际上并不是连接(用SQL术语),而是一种内部方式   查询。

考虑到您的场景,我假设两个核心(“人员”和“作业”)有一个公共字段,您可以在其上执行“加入”操作。让我们称之为“id”。

通过Solr Join,您将能够获得包含来自“人员”或“作业”的字段的结果文档,但不能合并来自两个核心的字段。

因此,它实际上是

  • 内部查询
  

从people.id =的人群中选择peopleField1,peopleField2   jobs.id

     

     

从人员中选择jobField1,jobField2,其中people.id = jobs.id

而不是

  • 加入
  

从人员中选择peopleField1,peopleField2,jobField1,jobField2,   加入people.id = jobs.id