Меня попросили оценить Solr как альтернативу коммерческой поисковой системе.
В приложении теперь есть особый способ сортировки результатов с использованием так называемых «корзин».
Попробую объяснить немного подробнее:
В интерфейсе у них есть 2 поля: «что» и «где».
Оба поля на самом деле представляют собой наборы полей (что = категория, имя, контактная информация ... и где = страна, штат, регион, город ...), поэтому сразу приходит на ум функция копируемых полей Solr. Теперь на основе поля, сгенерированного фактическим совпадением, результат должен оказаться в определенном сегменте. В частности, первый сегмент содержит все документы результатов, которые имеют точное соответствие в поле категории, во втором сегменте все точные совпадения по имени, третье частичное совпадение по категории, четвертое частичное совпадение по имени, пятое совпадение по контактной информации и т. д. Затем в каждом из этих сегментов первого уровня все результаты помещаются в сегменты второго уровня в зависимости от того, какое местоположение было найдено: город, затем регион, затем провинция и так далее. Чтобы еще больше усложнить ситуацию, существует также корзина третьего уровня, в которой результаты размещаются в соответствии со значением поля ранжирования: все документы со значением 1 в поле ранжирования попадают в корзину 1 и так далее. И, наконец, результаты должны быть рандомизированы в корзину третьего уровня ...
Вдобавок к этому, очевидно, нужна поддержка фасетов и разбиения по страницам.
Приношу свои извинения за длинное письмо, но я буду очень признателен за отзывы и / или предложения.
Я понимаю, что это особая проблема, но все, что указывает мне правильное направление, полезно.
Привет, Том