2016-09-14 79 views
0

我有两个不同的核心我想加入并从两个核心获取所有字段,如mysql内部连接。从solr中的两个不同核心获取数据

核心产品:

product_id 
product_details 
author_id 

核心作者:

author_id 
    author_name 
    author_detail 

我需要从两个内核各领域的加盟使用author_id。我已经尝试加入,但它会返回我的数据从一个核心productauthor或需要进行两个查询并结合数据集。

回答

0

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

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

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