Пользователь Solr/Lucene основанный на щелчке рейтинг

Я сталкиваюсь с проблемой вида результаты Lucene на основе пользовательского журнала щелчка. Я хотел бы это, результаты, к которым более получают доступ, на первом месте. Кто-либо знает, как настроить или реализовать такое свойство в Lucene или Solr?

Большое спасибо.

1
задан Danim 31 May 2010 в 14:29
поделиться

2 ответа

Вы можете объявить сортируемое целочисленное поле (назовем его clickNum) в своей схеме, установив его по умолчанию равным нулю для каждого проиндексированного документа. Когда пользователь открывает документ, ваше приложение запускает обновление поля clickNum, устанавливая clickNum = clickNum + 1.

На стороне запроса вы можете установить сортировку по нескольким типам на основе вашего основного параметра сортировки (если есть) и clickNum: sort = + [, clickNum + desc]

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

2
ответ дан 3 September 2019 в 00:12
поделиться

Использование Dismax может быть хорошим вариантом. Параметр bf (Boost Functions) Dismax может быть установлен для повышения документов с высоким количеством кликов.

Если вы не хотите использовать Dismax, вы также можете использовать функцию query в параметре bf (Boost Functions).

0
ответ дан 3 September 2019 в 00:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: