Выборочная сортировка Solr - PullRequest
0 голосов
/ 31 мая 2010

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

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

Я попытаюсь объяснить с некоторыми подробностями:

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

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

Кроме того, им явно нужна поддержка фасетов и подкачки.

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

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

Ура, Том

1 Ответ

1 голос
/ 08 июня 2010

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

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

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

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