Пользовательская сортировка Solr

Меня попросили оценить Solr как альтернативу коммерческой поисковой системе.

В приложении теперь есть особый способ сортировки результатов с использованием так называемых «корзин».

Попробую объяснить немного подробнее:

В интерфейсе у них есть 2 поля: «что» и «где».

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

Вдобавок к этому, очевидно, нужна поддержка фасетов и разбиения по страницам.

Приношу свои извинения за длинное письмо, но я буду очень признателен за отзывы и / или предложения.

Я понимаю, что это особая проблема, но все, что указывает мне правильное направление, полезно.

Привет, Том


person Tom    schedule 31.05.2010    source источник
comment
Я не понимаю, как фасеты и разбиение на страницы могут иметь смысл в такой структуре.   -  person Mauricio Scheffer    schedule 31.05.2010


Ответы (1)


Похоже, приложение использует этот сложный алгоритм сортировки в качестве прокси для релевантности. Solr использует скоринг для этого типа сортировки и дает вам много способов управлять уравнением скоринга.

Например, вы можете ранжировать совпадения фраз выше, чем совпадения ключевых слов, придавать больший вес определенным полям и т. Д. Вы даже можете написать свой собственный код и довольно легко подключить его.

Возможно, вы не сможете воспроизвести точный порядок вашего текущего приложения с помощью этого подхода, но это не обязательно плохо.

person KenE    schedule 08.06.2010