Поиск Solr + Haystack - PullRequest
       8

Поиск Solr + Haystack

1 голос
/ 02 декабря 2011

Я пытаюсь внедрить поисковую систему для нового приложения.

Приложение позволяет людям оценивать предметы (+1 или -1) - Дать предметам оценку + ve или -ve.

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

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

Ни в коем случае не застрял на Solr, только начал играть сегодня.

Ответы [ 2 ]

0 голосов
/ 02 декабря 2011

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

sqs.filter(content='blah').order_by('rating')
0 голосов
/ 02 декабря 2011

С помощью Solr вы можете сохранить поле с документом, в котором хранится разница.
Разница может быть между суммой + 1ve и -1ve.

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

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

Если это вас беспокоит, попробуйте использовать ExternalFileField .
Это позволяет отображать определенные поля документов, такие как рейтинг, популярность, внешняя по отношению к индексу, в отдельном файле.
Файл может быть обновлен, и индекс может быть зафиксирован для отражения изменений.
Поле также можно использоватьс функциональными запросами для повышения результатов по мере необходимости, однако имеют много ограничений.

...