Я пытаюсь упорядочить результаты на основе количества "лайков".
Самое очевидное решение - иметь поле "likes" для каждой строки и переиндексировать документ для каждого пользователя, который нажимает "like". Но переиндексация больших документов в этом случае нецелесообразна.
(далее для примера: большие документы не рассматриваются)
В идеале, я хотел бы индексировать данные и действия пользователя в Solr как отдельные строки.
Строки данных (как показано ниже) относительно стабильны во времени.
id:place_1
title: ela restaurant
meta: sea food, chinese food festival
description: this place...
Строки действий вставляются каждый раз, когда пользователь нажимает кнопку "нравится".
id:action_43141
action:like
user:john
target:place_1
id:action_44323
action:like
user:doe
target:place_1
Как я могу увеличить результат, основанный на количестве лайков, учитывая, что каждый лайк существует в отдельной строке?
Я знаю, что в грядущем Solr 4.0 http://wiki.apache.org/solr/Join существуют соединения. Но улучшит ли это оценки на основе количества совпадающих строк?