对于一个快速项目(不是作业,我保证!),我有一个简单的solr安装,有两个核心,'人'和'工作'。每个都有一些结构化数据,但也有一个文本字段。
我想使用people.text查询jobs.text。
我无法找到这样的示例,SolrQuerySyntax页面也没有引用集合或核心。
没有使用真实“加入”的字段。
有可能吗?你能指点我一个例子/教程吗?
感谢。
答案 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