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

标签 solr

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

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

我找不到这方面的示例,而且 SolrQuerySyntax 页面没有引用集合或核心。

没有用于使用真正“连接”的字段。

这可能吗?你能给我指一个例子/教程吗?

谢谢。

最佳答案

Solr 连接可以跨核执行。引用this关于如何操作的 StackOverflow 帖子。

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

Solr Joins are not actually joins (in SQL terms), but a way of Inner Query.

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

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

因此,它实际上是一个

  • 内部查询

select peopleField1, peopleField2 from people where people.id = jobs.id

or

select jobField1, jobField2 from people where people.id = jobs.id

而不是

  • 加入

select peopleField1, peopleField2, jobField1, jobField2 from people, join where people.id = jobs.id

关于Solr 'join' 使用文本字段(来自另一个集合),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15299500/

相关文章:

solr - 查询多值字段中的特定索引值

solr - 如何使用 SolrJ 检索 "facet_queries"数据

solr - Solr 中的条件 FilterQuery

Linux内存映射文件(已删除)

jakarta-ee - 超时后停止 solr 搜索

使用 Apache Solr 搜索名称

performance - solr 查询 - 无需扫描文件即可获得结果

java - Solr:从字段中删除双引号字符

solr - 如何仅返回 SOLR 中字段的截断部分?

java - Solr 在 DSpace 安装中无法运行