0

次の方法でドキュメントを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。

4

0 に答える 0