2016-09-14 38 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與您的核心產品一起索引。只要這些值不在一百萬份文件中,並且每秒都在變化,那麼性能就會很好。