Как избежать попадания ниже определенного балла при использовании Solr / Lucene? - PullRequest
4 голосов
/ 10 февраля 2012

Моя проблема в том, что поиск - небольшое дополнение к моему Приложению, и я не хочу тратить столько времени на изучение всей идеи.Глядя на мои результаты поиска - это очень распространенная схема, в которой я получаю очень хорошие совпадения (7+) и очень и очень плохие совпадения, например, 0,10.Если я хотел бы отсортировать результаты, используя любой другой критерий, кроме оценки, это будет иметь очень мало смысла, так как 0.10 почти не имеет отношения к запросу и может оказаться первым в списке.

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

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

Предлагаемые идеи с использованием frange (как для правильного q-запроса, так и для qf) на самом деле не работают.Отказ от низких результатов в самом приложении также кажется довольно скучным, так как он сломает нумерацию страниц, замедлит работу и в целом принесет массу ненужной работы.

Примерно через час в Google я обнаружил, что многие люди действительно хотят это решение, хотя я не смог найти ничего, что работает для меня.

Итак, есть ли способвообще угробить низкие результаты на стороне Solr?Существуют ли какие-либо пользовательские фильтры для этого?

Редактировать:

Огромное количество результатов по некоторым причинам имеет значительный разрыв в нижней части.Например, последний релевантный результат получит, скажем, 4,5 балла, и всегда будет еще несколько результатов со следующим наивысшим результатом 0,12 ... Может быть, я делаю что-то не так на уровне индекса?Есть ли какой-нибудь простой способ отбросить эти нерелевантные результаты из хеша результата?После еще одного исследования, похоже, что я был бы более менее в порядке, после того, как просто отбросил <1 баллов ... </p>

1 Ответ

0 голосов
/ 11 февраля 2012

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

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

Другая идея состоит в том, чтобы написать собственный плагин Solr, который обнуляет счет до некоторой точки ниже некоторой точки - это исправило бы нумерацию страниц, фасеты и т. Д. Местом для начала будет код по умолчанию «Сходство» (имя немного странно, я проходил мимо себя несколько раз)

...