我有一組索引文件,它具有僞父子關係。每個子文檔都有對父文檔的引用。由於某些可用性複雜性,這些文檔沒有被索引來支持塊連接,即不是嵌套結構,而是全部平坦。這裏有一個例子:Solr返回子查詢匹配時只有父文檔
<doc>
<field name="id">1</field>
<field name="title">Parent title</field>
<field name="doc_id">123</field>
</doc>
<doc>
<field name="id">2</field>
<field name="title">Child title1</field>
<field name="parent_doc_id">123</field>
</doc>
<doc>
<field name="id">3</field>
<field name="title">Child title2</field>
<field name="parent_doc_id">123</field>
</doc>
<doc>
<field name="id">4</field>
<field name="title">Misc title2</field>
</doc>
我正在尋找是,如果我搜索「標題2」,結果應該帶回以下兩個文檔,1相匹配的父母和一個基於一個常規賽。
<doc>
<field name="id">1</field>
<field name="title">Parent title</field>
<field name="doc_id">123</field>
</doc>
<doc>
<field name="id">4</field>
<field name="title">Misc title2</field>
</doc>
隨着塊的加盟支持,我可以用塊連接父查詢分析器,
q={!parent which="content_type:parentDocument"}title:title2
轉化結果文檔是一個替代,但它必須通過ChildDocTransformerFactory
反向支持。
只是想知道是否有辦法以不同的方式來解決查詢。任何指針將不勝感激。
在[參考文檔中的BlockJoinParser](https://cwiki.apache.org/confluence/display/solr/Other+Parsers#OtherParsers-BlockJoinQueryParsers)是一個關於使用哪些關於使用' which'。可能有路要走嗎? – cheffe