从solr中的两个不同核心获取数据

时间:2016-09-14 18:09:35

标签: solr solrj

我有两个不同的核心我希望加入并从两个核心获取所有字段作为mysql内连接。

核心产品:

product_id
product_details
author_id

核心作者:

 author_id
    author_name
    author_detail

我需要使用author_id加入两个核心的所有字段。我尝试过加入,但它会从一个核心productauthor返回数据,或者需要进行两次查询并合并数据集。

1 个答案:

答案 0 :(得分:0)

你不能。 Solr连接无法从连接的两端检索信息 - 它们只能通过另一方的值进行过滤,而不能检索信息。

您必须将文档结构化为适合block joins,或者进行两次查询 - 首先检索连接一侧的内容,然后获取另一侧匹配的所有文档。这可能是最灵活,最快速的解决方案,并且可以很好地扩展(因为在迭代完第一组之后,其他查找只是在field:(foo OR bar OR baz)的连接字段上)。

第三种选择是将author_name和author_detail与您的核心产品一起索引。只要这些值不会出现在百万份文档中并且每秒都有变化,那么性能就会很好。