2016-04-19 19 views
0

擬似親子関係を持つ一連の文書を索引付けしています。各子ドキュメントには、親ドキュメントへの参照があります。ある程度の可用性があるため、これらの文書はブロック結合をサポートするために索引付けされていません。つまり、ネストされた構造ではなく、すべてフラットです。ここでは例です: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> 

私が探していますどのようなことは、私は「TITLE2」を検索すると、結果は1が親を照合し、定期的な一致に基づいて1は、次の2つのドキュメントを持ち帰る必要があります。ブロック-参加支援を

<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て逆サポートしています。

クエリを別の方法で処理する方法があるかどうかは疑問です。すべてのポインタが評価されます。

+0

[BlockJoinParserのリファレンスドキュメント](https://cwiki.apache.org/confluence/display/solr/Other+Parsers#OtherParsers-BlockJoinQueryParsers)には、 」おそらく行く道がありますか? – cheffe

答えて

0

Solr 6を使用する場合、親レコードを含むように結果を展開して、Graph query parserを使用することができます。

+0

残念ながら、残念ながらまだ5.0になっているため、グラフパーサーはオプションではありません – Shamik

関連する問題