如果指定的多值字段仅包含一个值,请过滤doc

时间:2012-06-07 05:33:46

标签: solr

我们遇到一个查询案例,如果指定的多值字段只包含一个值,则过滤doc。 例如: 我们有一套西装,包括衣服,裤子或其他东西。如果由于缺货而在诉讼中只有一种产品,我们无法向用户展示该诉讼,因为它不适合。 这是我们的数据:

<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的诉讼。

1 个答案:

答案 0 :(得分:1)

最好有一个单独的字段来维护套装产品的数量并使用它来过滤套装。

我认为您不能对文本多值字段使用范围查询 您可以使用productName:[* TO *]选择至少包含一个产品的套装,但不能选择计数。