Solr:对子实体中的多值字段进行范围查询?

时间:2011-07-31 10:56:28

标签: solr range

我正在使用Solr索引一些东西。

我有一个带有根实体和子实体的 dataconfig.xml ,如下所示:

<entity name="item" query="select id, qty from item">
    <field column="id" name="id" />
    <field column="qty" name="qty" />

    <entity name="prices" query="select price from prices where item_id='${item.id}'">
        <field column="price" name="price" />
    </entity>

</entity>

以及相应的 schema.xml

<fields>
    <field name="id" type="integer" indexed="true" stored="true" />
    <field name="qty" type="sint" indexed="true" stored="true" />
    <field name="price" type="sint" indexed="true" stored="true" multiValued="true" />
</fields>

字段数量(来自根实体)和价格(来自子实体)都是 sint 类型(允许范围)查询),价格 multiValued ,因为一个项目可能有多个价格值。

当我对qty进行范围查询时,它按预期工作。例如,qty:[* TO 10]返回的元素的数量最多为10。

但是当我对价格进行范围查询时,它根本不起作用:price:[* TO 100]返回价格甚至超过100的元素!

因此我的问题:是范围查询应该在“子实体”的多值字段上工作吗?

0 个答案:

没有答案