次の方法でドキュメントをSOLRに追加しました。
<doc>
<str name="id">INDIA_18</str>
<str name="textNew">text</str>
<str name="description">d1</str>
<str name="contentType">OLD</str>
</doc>
<doc>
<str name="id">INDIA_17</str>
<str name="textNew">text</str>
<str name="description">d2</str>
<str name="contentType">OLD</str>
</doc>
<doc>
<str name="id">INDIA_16</str>
<str name="textNew">text</str>
<str name="description">d2</str>
<str name="contentType">NEW</str>
</doc>
<doc>
<str name="id">INDIA_15</str>
<str name="textNew">text</str>
<str name="description">d3</str>
<str name="contentType">NEW</str>
</doc>
すべてのフィールドは STRING フィールドであり、id はドキュメントの一意のプロパティです。SOLR 4.0を使用しています
次の solr の JOIN クエリを実行しています: /select?q={!join+from=description+to=description}contentType:OLD
JOIN クエリに関する私の理解では、上記のクエリは最初に、contentType が OLD である説明を選択します (結果: d1、d2)。次に、contentType が d1、d2 のすべてのドキュメントを検索し、全体的な結果として 3 つのドキュメントを返す必要があります。(contentType が OLD の 2 つと contentType が NEW の 1 つ)
しかし、逆に、クエリは 4 つのドキュメントすべてを返します。
誰でもクエリ/スキーマを調べて、間違いを指摘してください。
前もってありがとう、Sidharth。