Я использую 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 (чтобы разрешить диапазонные запросы) и цена равна многозначность , поскольку для одного элемента может быть несколько значений цены.
Когда я делаю запрос диапазона на qty, он работает как положено.Например, qty:[* TO 10]
возвращает элементы с количеством до 10 *.
Но когда я делаю запрос диапазона цен, он вообще не работает: price:[* TO 100]
возвращает элементы с ценами даже более 100!
Отсюда мой вопрос: должны ли диапазонные запросы работать с многозначными полями из "подобъектов"?