Solr не может получить максимум (id) - PullRequest
0 голосов
/ 12 ноября 2018

Я новичок в Apache Solr и использую 7.5. Я создал коллекцию TestCollection с 2 полями id и name , используется тип данных по умолчанию для id в виде строки и типом имени является строка.

Я проиндексировал записи с помощью curl, и я проиндексировал id до 400000, но когда я даю

http://127.0.0.1:8983/solr/TestCollection/select?json.facet={maxid:max(id)}&q=*:*&rows=0 

Я получаю максимальный 99999

facets: {
count: 495798,
maxid: "99999"
}

Какую ошибку я совершаю с типом данных.

1 Ответ

0 голосов
/ 13 ноября 2018

Как упоминает Abhijit в комментарии, измените тип поля.

Строковое поле, начинающееся с «9», всегда будет больше (сортировать после) поля, начинающегося с 4. Это то же самое, что Z, сортируемый после A, поскольку оно считается «большим». При использовании строк их порядок сортировки основывается на каждом символе отдельно, а не на «всей строке».

Измените тип поля на вспомогательное поле и переиндексируйте ваш контент, и сортировка, и max будут работать так, как вы хотите.

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