Лучший способ реализовать сложный h-индекс внутри ElasticSearch - PullRequest
2 голосов
/ 23 сентября 2019

Учитывая обширную базу данных с сотнями миллионов статей (или статей для исследователей) с заголовком, рефератом, количеством авторов и цитирований, что было бы лучшим способом использования упругого поиска, чтобы он возвращал лучших k авторов по h-index, даваязапрос в секунду, чтобы ответить на вопрос типа «кто из ведущих исследователей рака мозга?»

Я пытаюсь решить эту проблему с помощью алгоритма с учетом сложности времени и памяти для распределенной вычислительной системы.Идеально с эластичным поисковым плагином.Я знаю, что при использовании наивного убеждения, что это будет что-то вроде

Группировка по автору -> сортировка по количеству цитирований -> вычислить h-index -> resort

При таких ... сложность будет O(nlog (n)) и требует O (n) памяти.

Я ищу O (log (h)) время выполнения и O (kh) решение для памяти (n - число статей, h -средний авторский h-индекс).

...