Как отфильтровать по целому числу в solr, сохраняя 0 в наборе как последний результат? - PullRequest
0 голосов
/ 17 декабря 2018

Я хочу отфильтровать результаты в solr 6.4.1 по цене, сохраняя при этом результаты в наборе, в котором нет цены, и помещать результаты без пика в конец списка результатов.

Пример набора данных:

item1 = $32
item2 = $31
item3 = 
item4 = $33

Пример запроса фильтра:

<str>{!tag=price}price:[1 TO *]</str>

Требуемый результат:

result4 = $31
result4 = $32
result4 = $33
result4 =

Использование 1 в запросе фильтра отфильтрует пустой результат из набора,потянув 0 в качестве начала, он вернет эти элементы в начало списка.

Другими словами, вопрос в том, как отсортировать по цене с 0 как результат с наивысшей ценой?

1 Ответ

0 голосов
/ 17 декабря 2018

Поле может быть определено с помощью sortMissingLast в schema.xml, чтобы документы, в которых отсутствует значение, были упорядочены в конце вашего набора данных.

<fieldType name="price" class="solr.IntPointField" sortMissingLast="true" omitNorms="true"/>

Имейте в виду, что этоПредполагается, что поле отсутствует .Если оно не имеет значения, не указывайте в поле 0 - вообще не добавляйте поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...