Упорядочивание результатов по релевантности с помощью поиска Solr - PullRequest
4 голосов
/ 13 сентября 2010

Я новичок в поиске Solr и пытаюсь понять порядок обработки результатов.Я использую Ruby on Rails вместе с гемом Sunspot для взаимодействия с Solr.

У меня есть модель Article, в которой есть следующие поля, которые проиндексированы:

text Title
text AuthorNames
integer NumberOfReviews

Я быхотел бы иметь возможность выполнять поиск в Solr, где:

  • Точные совпадения заголовков возвращаются раньше, чем что-либо еще
  • Положительный вес задается пропорционально статьям с большим NumberOfReviews

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

Может кто-нибудь помочь или указать мне правильное направление?Заранее спасибо!

1 Ответ

7 голосов
/ 13 сентября 2010
  1. «Взвешивание» обычно называется «бустинг» на жаргоне Солра / Люсена.
  2. Взгляните на dismax запросов и его параметров , здесь вы можете выполнить множество настроек. Например, вы можете использовать параметр bf для увеличения статей с большими NumberOfReviews.
  3. Проверка ошибок, альтернативные предложения: см. SpellCheckComponent
...