2010-06-07 3 views
1

Я хочу настроить релевантность результатов поиска solr на основе каждого пользователя - в зависимости от того, сколько раз пользователь нажал результат. Часто поражающие предметы ДЛЯ ТОГО, ЧТО ПОЛЬЗОВАТЕЛЬ должен подняться на вершину своих результатов поиска.В отношении релевантности запросов для solr?

Есть ли способ предоставить пользовательский boost/elevation для определенных идентификаторов документов по запросу? Я думаю, что порядка 100 экземпляров конкретных документов поднять. Высота не должна иметь эффекта, если остальная часть запроса не находит эти документы.

В качестве альтернативы, если это невозможно, что является разумным способом для создания альтернативного подхода к индексированию, который сделает это возможным? Могу ли я добавить поле для каждого пользователя в индексе для хранения своих баллов? Я думаю в порядке 1000 пользователей. Основным недостатком этого подхода является количество раз, когда документ должен быть переиндексирован (т. Е. Каждый раз, когда он использовался пользователем).

ответ

1

Вы можете настроить dynamic field для хранения пользователь нажимает, например:

<dynamicField name="*_clicks" type="integer" indexed="true" stored="true"/> 

и вы бы хранить щелчки в таких областях, как user12322_clicks, user15000_clicks и т.д.

Посмотрите на this very similar question для получения информации о том, как повысить.

+0

Cheers для указателя на динамические поля - выглядит как способ выполнения задания, если пользователь нажимает на индекс. По-прежнему хотелось бы иметь возможность передать правило высоты с запросом и избежать дополнительной индексации. – plusplus

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