Solr сортировка не работает ожидаемо - PullRequest
6 голосов
/ 17 октября 2011

Иметь поле «заголовок» с определением

<field name="title" type="text" indexed="true" stored="true"/>

Я хочу отображать результаты по порядку по количеству баллов и, если они связаны, по порядку по названию в качестве вторичной сортировки.

Однако при запросе с sort=score desc, title asc результаты не обязательно приходят в порядке возрастания для заголовка.

Есть предложения?

1 Ответ

15 голосов
/ 17 октября 2011

Сортировка не работает хорошо для многозначных и токенизированных полей.

Документация. Сортировка может быть выполнена по «счету» документа или по любому многозначному = «ложному» индексируемому = «истинному» полюпри условии, что это поле не является токенизированным (т. е. не имеет анализатора) или использует анализатор, который выдает только один термин (т. е. использует KeywordTokenizer)

http://wiki.apache.org/solr/CommonQueryParameters#sort

Использовать строку каквведите тип поля и скопируйте поле заголовка в новое поле.

<field name="title_sort" type="string" indexed="true" stored="false"/>

<copyField source="title" dest="title_sort" />  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...