194
Глава 15. Сбор данных в «Википедии»
String redisKey = termCounterKey(url);
String count = jedis.hget(redisKey, term);
return new Integer(count);
}
Благодаря тому что мы спроектировали индекс, эти методы
просты и эффективны.
Анализ поиска
Предположим, мы проиндексировали N страниц и обнаружили
M уникальных поисковых терминов. Сколько времени потребу-
ется, чтобы найти один из них? Подумайте над ответом, прежде
чем продолжить.
Чтобы найти поисковый термин, мы запустим метод getCounts,
который совершает следующие действия.
1. Создает карту.
2. Выполняет getURLs с целью получить набор Set из URL.
3. Для каждого URL в Set выполняет метод getCount и добав-
ляет запись в HashMap.
Выполнение getURLs занимает время, пропорциональное коли-
честву URL,