Схема Solr и повышение по ключевым словам / тегам для элемента - PullRequest
3 голосов
/ 28 сентября 2011

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

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

Я использую dismax, и на данный момент запрос «apple» выглядит примерно так:

q=apple
qf=title^0.4 keywords:"apple"^0.5
bf=hits^0.4 rating^0.3

Так что, как вы можете видеть, я повышаюсь по «ключевым словам», но проблема в том, что яНе знаю, какой элемент был наиболее кликнут для слова "яблоко".

Я пытался добавить параметр boost для каждого ключевого слова при первоначальном импорте индекса.Это не помогло, и у меня нет идей.

1 Ответ

0 голосов
/ 28 сентября 2011

Как вы поддерживаете данные, по которым щелкнули?
Как насчет сохранения кумулятивных данных, по которым щелкнули, как одного поля с документом.
Вы можете легко использовать это поле для общего увеличения документов с помощью функций ускорения dismax.
Можно использовать большой набор математических функций @ http://wiki.apache.org/solr/FunctionQuery#What_is_a_Function.3F

...