Эластичный поиск - десятка результатов по количеству транзакций - PullRequest
0 голосов
/ 12 февраля 2019

Я ищу некоторые идеи / предложения для нижеприведенной задачи, я новичок вasticsearch, поэтому простите мое невежество по этому вопросу:

В нашей системе нет n благотворителей.Каждый пользователь может совершить n транзакций для своего одаряемого.Задача состоит в том, чтобы показать лучших доноров благотворителю (на основе количества транзакций в месяц).Поскольку количество транзакций может быть огромным, скажем, 50-60 тысяч транзакций в день.Я подумываю о включении данных транзакций в elascticsearch, а затем агрегировать данные за 30 дней, основанные на благотворителях, и запрашивать агрегацию, чтобы выбрать 10 лучших донетов.

У меня есть несколько вопросов:

  1. Как я понимаю, агрегация будет работать в режиме реального времени, и каждая транзакция, добавляемая вasticsearch, также будет отражаться в агрегации, если я выполню запрос агрегации с 1000-5000 запросов в секунду.

  2. Если точка 1 вызовет какие-либо накладные расходы и медлительность, то я могу позволить себе агрегирование по ночам в качестве работы, а затем продолжать показывать топовые данные только по этим данным (устаревшие данные в течение 24 часов), мой вопрос здесь: могу ли якэшируйте это агрегирование в течение 24 часов, а затем повторно агрегируйте с ночной работой.

  3. Есть ли другой способ, которым это может быть достигнуто?Любое другое простое решение.

Я читаю документацию эластичного поиска и пробую свои образцы.Я буду очень признателен за любую помощь сообщества.

У нас в кластере 5 узлов r4.2x.

...