Я только начинаю работать с Elasticsearch и хочу реализовать приоритетную ленту новостей для пользователей, исходя из их интересов.
Я использую Spring Boot 2.0.5, Spring Data Elasticsearch 3.1.0 и Elasticsearch 6.4.2
Я загрузил несколько примеров новостных тем в Elasticsearch и реализовал метод репозитория findByKeywords, который возвращаеттемы, упорядоченные по дате создания.
То, что я хочу сейчас сделать, - это расставить приоритеты и оценить темы новостей дальше.Например:
- Пользователи оценивают свои интересы от 1 до 5. Интересы с более высоким рейтингом будут отображаться выше в ленте новостей.
- Темы с более высоким уровнем вовлеченности пользователей
- Какое устройство использует пользователь и т. Д.
Как лучше всего построить эту логику скоринга с Elasticsearch?В идеале я хотел бы, чтобы возвращаемые результаты были разбиты на страницы и упорядочены так, как метод findAll возвращает его результаты.
Кроме того, нужно ли мне отслеживать, какие элементы пользователь видел в последний раз, чтобы избежать необходимости повторного поиска всех новостей.
Любой совет будет высоко оценен.