我需要幫助構建Solr查詢,該查詢不僅會搜索子文檔並返回父文檔,還會搜索父文檔。請參閱我下面的示例模式:Solr查詢通過加入來搜索子文檔和父文檔
廠商
- 編號
- 名稱
- 評論
產品
- 編號
- ManufacturerId
- 產品名稱
所有Solr的文檔具有唯一的ID字段,但產品有作爲外鍵的特殊領域「ManufacturerId」。
我想搜索所有名稱爲「iPod」的產品並返回父級「製造商」文檔。我可以通過使用以下聯合聲明來完成。
{!join from=ManufacturerId to=Id}ProductName:iPod
此外,我想撤回在評論中有iPod的製造商。因此,結果將包括所有擁有iPod產品且在評論字段中包含iPod字樣的製造商。我試過以下,沒有運氣。
{!join from=ManufacturerId to=Id}ProductName:iPod OR Comments:iPod
任何幫助將不勝感激。
謝謝!
UPDATE:
看來,當我使用的過濾器查詢「FQ」字段,而不是常規的查詢字段「Q」才能正常工作。我不確定這是否是最佳解決方案。另外,我想知道相關性是否會以同樣的方式工作。讚賞更好的解
Comments:iPod {!join from=RouteId to=Id}ProductName:iPod
或
iPod {!join from=RouteId to=Id}ProductName:iPod
對不起,有任何混淆。我應該提到它們不是單一文件的一部分,而是單獨的文件。由於產品的ManufacturerId字段存在關係,但是沒有真正定義的關係,因爲如果它是包含子產品「Products」的單個「製造商」文檔就會存在。此外,我正在使用不支持塊加入的Solr 4.3。 –