簡體   English   中英

SOLR-我可以在相同的結果中獲得“父”字段和“子”字段嗎?

[英]SOLR - Can I get Parent fields and Child fields in the same result?

我正在將SOLR 4.6與父子文檔一起使用。 我知道我可以使用'join'或'block join'來查找特定類型(孩子或父母)的文檔,

但是,我可以在同一響應中獲得“父文檔”字段和“子文檔”字段嗎?

例如:如果我的Person具有firstName = BobLastName = Marley且其子文檔地址具有City = NY

我想在結果文檔中獲取firstName = BobLastName = MarleyCity = NY

根據Solr文檔,這是不可能的。 http://wiki.apache.org/solr/Join

“對於習慣了SQL的人們,必須注意,Solr中的Join並不真正等同於SQL Joins,因為沒有關於被“ from”聯接的表的信息會被帶到最終結果中。更合適的SQL類比是一個“內部查詢”。

此Solr請求...

/ solr / collection1 /選擇? fl = xxx,yyy&q = {!join from = inner_id to = outer_id} zzz:vvv可與該SQL語句媲美...

SELECT xxx,yyy FROM collection1 WHERE external_id IN(SELECT inner_id FROM collection1 where zzz =“ vvv”)

實際上,這仍然是不可能的。 這里有一個補丁-SOLR-5285

嘗試與父子關系建立索引時間塊聯接,並在查詢中使用擴展組件(Solr 4.8)。 有關更多詳細信息,請參閱Joel的帖子@ http://heliosearch.org/expand-block-join/

可以在expand屬性的幫助下檢索子文檔,如expand block join中所述 如果我們加上

expand=true&expand.q=*:*&expand.field=_root_

查詢。 我們應該能夠在“擴展”屬性中獲取所有子文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM