#search #solr #search-engine
#Поиск #solr #поисковая система
Вопрос:
Я новичок в solr.
У меня есть схема для продукта с 3 полями
цена, название, размер.
Поле size
имеет 3 значения [type=»text_general»]
маленький, средний, большой
Я хочу показывать результаты в определенном порядке :
Пользователь может указать его размер.
Если пользователь выбирает small в качестве размера, порядок должен быть
сначала отображаются все мелкие товары, за которыми следуют средние и крупные.
Если пользователь выбирает medium в качестве размера, порядок должен быть
сначала отображаются все средние продукты, за которыми следуют маленькие и большие.
Если пользователь выбирает large в качестве размера, порядок должен быть
сначала отображаются все крупные продукты, за которыми следуют средние и мелкие.
Как я могу этого добиться?
Я пытался группировать результат, но безуспешно.
http://localhost:8983/solr/product/select?start=0amp;row=10amp;q=*:*amp;group=trueamp;group.field=sizeamp;group.format=simpleamp;group.limit=100000amp;sort=size desc
Я думаю, что сортировка — это не способ добиться такого упорядочения. Есть ли в SOLR какая-либо другая функция для этого?
Комментарии:
1. какой тип поля соответствует размеру поля?
2. также отсутствует порядок сортировки desc или asc
3. По счастливой случайности (небольшие сортировки после средних, которые сортируются после больших) вы сможете сортировать свои документы так, как хотите, просто используя
sort=size desc
. Однако, когда вы начнете вводить XL и XS и аналогичные размеры, это сломается. Вместо этого индексируйте отдельное значение сортировки, которое представляет порядок сортировки: 10 для xxs, 20 для xs, 30 для s, 40 для m, 50 для l, 60 для xl, 70 для xxl и т.д.4. спасибо за ответ. Я отредактировал вопрос, чтобы придать больше ясности. Пожалуйста, взгляните и помогите мне.