3

Перед нами стоит задача сортировки результатов Solr на основе журнала кликов пользователей. Я бы хотел, чтобы результаты с более доступными результатами были первыми. Кто-нибудь знает, как настроить или реализовать такое свойство в Solr?Сортировка результатов solr на основе щелчка пользователя?

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

+0

Что вы подразумеваете под другими результатами? Поддерживаете ли вы число просмотров с индексом, который поможет вам определить это? – Jayendra

+0

dn't knw, как сохранить счет в solr? означает, как отправить запрос обратно в solr, когда пользователь нажимает на определенные данные ??? –

+0

Аналогичный вопрос, который я задал по адресу http://stackoverflow.com/questions/8411860/can-solr-boost-results-on-number-of-social-likes – aitchnyu

ответ

6

Хороший вопрос. Ваша проблема может рассматриваться как классическая проблема коллективного интеллекта или мудрости толпы. Первый шаг состоит в том, чтобы подсчитать URL-адрес URL-адреса для определенного запроса, то есть для каждого запроса, у пары-партнера у вас будет счет, поддерживаемый для этого кортежа. Каждый раз, когда пользователь нажимает на определенный URL-адрес, счет увеличивается на 1. В качестве второго шага, когда Solr вернет вам результаты, основанные на его ранжировании и релевантности Алгоритмы (скажем, LCS, Vector Space и т. Д.), А для каждого запроса , пара url вернула вам фрейм формулу, которая добавляет определенное значение (основанное на количестве кликов) в ранг, заданный Solr для документа, а затем вы должны отображать результаты на основе полученного общего ранга.

Общий уровень заработанных за Документ = Рейтинг, присвоенный Solr + Click Ranking Числовое значение, указанное вами.

Для примера, если вы ищете "план iphone", Solr возвращает вам следующие ссылки в порядке высокого ранга к низкому уровню:

  1. Яблоко
  2. AT & T
  3. Amazon

Теперь вы проверяете каждый запрос, адресную пару, т.е. {"iphone plan", Apple} {"iphone plan", AT & T} {"iphone plan", Amazon} количество кликов, и вы получаете что количество кликов для запроса самое высокое для AT & T по сравнению с Apple. Используя ваши пользовательские формулы и придав некоторый вес кликам, вы перенесите вышеизложенное и измените порядок отображения.

Однако обратите внимание, что формулы вы изобретаете не должны быть хорошо для спамеров, которые могут изменить весь материал ранжирования вашего сайта, имея огромные щелчки для конкретного документа (Say с помощью робота :))

выше - логика. В настоящее время существует два способа идти о реализации выше:

  1. Измените Lucene класс подобия (http://lucene.apache.org/core/old_versioned_docs/versions/3_0_1/api/all/org/apache /lucene/search/Similarity.html), то есть сначала поймите, как Lucene делает рейтинг, а затем внедряет ваш модуль в это

  2. Реализуйте его как отдельную рутину поверх Solr.

Примечания: Помните, что получение отсчетов для запроса пар URL не так просто, если у вас есть огромные/большие данные, в этом случае вам потребуется написать какую карту сократить рабочие места для того, чтобы достичь этого.

+0

Можно ли предоставить код примера? ??? –

+0

Мы не используем lucene ..так как использовать напрямую, чтобы получить результаты с помощью php-скриптов? –

+0

@ KpGupta: Lucene - это двигатель Solr, который делает для вас рейтинг/релевантность. Как я уже упоминал, он не будет предоставлен вам из коробки, вам придется писать код/​​алгоритм для создания материала, основанного на клике. – Yavar

 Смежные вопросы

  • Нет связанных вопросов^_^