[英]How can i display unique fields in mysql result after join multiple tables with same field names?
[英]SOLR - Can I get Parent fields and Child fields in the same result?
我正在將SOLR 4.6與父子文檔一起使用。 我知道我可以使用'join'或'block join'來查找特定類型(孩子或父母)的文檔,
但是,我可以在同一響應中獲得“父文檔”字段和“子文檔”字段嗎?
例如:如果我的Person具有firstName = Bob和LastName = Marley且其子文檔地址具有City = NY
我想在結果文檔中獲取firstName = Bob , LastName = Marley和City = 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.