1

指定された多値フィールドに値が 1 つしか含まれていない場合に doc をフィルタリングするクエリ ケースが発生します。例:服、ズボン、その他のものを含むスーツのインデックスがあります。在庫切れによりスーツ内の商品が 1 つしかない場合、「スーツ」ではないため、ユーザーにスーツを表示することはできません。これが私たちのデータです:

<doc>
    <int name="suitId">001</int>
    <arr name="productName">
        <str>T-shirt</str>
        <str>jeans</str>
    </arr>
</doc>
<doc>
    <int name="suitId">002</int>
    <arr name="productName">
        <str>T-shirt</str>
    </arr>
</doc>

suitId=002 のスーツを除外します。

4

1 に答える 1

1

スーツの商品数を保持する別のフィールドを用意し、それを使用してスーツをフィルタリングする方がよいでしょう。

テキスト多値フィールドに範囲クエリを使用できないと思います。
おそらくproductName:[* TO *]、少なくとも 1 つの製品を含むスーツを選択するために使用できますが、カウントはできません。

于 2012-06-07T05:56:40.770 に答える