» Любовные романы » » Читать онлайн
Страница 19 из 28 Настройки

— Сам паук уже почти не требует моего внимания. Есть очередь адресов, проверка повторов, ограничения для мусорных узлов, журнал ошибок и повторные попытки для недоступных страниц. Из двадцати трёх миллионов примерно восемь миллионов я уже прогнал через обработчик.

— Что значит «обработчик»?

— Вынимаю из страницы всё полезное. Заголовок, основной текст, ссылки и подписи к ним. Разметку выбрасываю. Потом текст разбивается на слова, слова нормализуются и записываются отдельно.

Он открыл ещё одно окно. Передо мной возникли длинные столбцы цифр, адресов и отдельных слов.

— Это обратный индекс.

Я посмотрел на экран, потом на Лунтика.

— Мы опять дошли до слов, значение которых я должен угадывать по выражению твоего лица.

Игнасио нахмурился, явно пытаясь понять, что именно здесь было непонятно.

— Если просто хранить двадцать миллионов страниц, то при каждом запросе придётся заново искать по двадцати миллионам страниц. Это бессмысленно. Поэтому делаем наоборот. Вот слово «автомобиль».

Он быстро что-то набрал.

На экране появился огромный список номеров.

— Это документы, в которых оно встречается. Рядом хранится положение слова, количество повторений, наличие в названии страницы, заголовке и тексте ссылок. Пользователь вводит запрос, а система не читает весь интернет заново. Она сразу достаёт готовые списки и работает только с ними.

— Уже ищет?

— Пока по восьми миллионам обработанных страниц.

Я посмотрел на него.

— То есть я могу написать что-нибудь прямо сейчас?

— Можете.

Игнасио открыл совершенно пустую белую страницу. Посередине находилось единственное поле ввода и маленькая кнопка рядом.

Я набрал название одной из столичных газет и нажал ввод.

Ответ появился почти мгновенно.

Первым действительно стоял официальный сайт газеты. Ниже шли несколько страниц, где она часто упоминалась, потом новостная заметка, какая-то региональная подборка и совершенно посторонняя статья, каким-то чудом оказавшаяся на шестой позиции.

Я перевёл взгляд на Игнасио.

— Работает.

— Плохо, — немедленно заключил Лунтик.

— За семь дней я бы позволил ему работать плохо.

— Я нет.

Разумеется.

Игнасио закрыл выдачу и снова вернулся к своим таблицам.

— Сейчас совпадения считаются слишком примитивно. Слова в названии получают больший вес. В заголовке меньше. В основном тексте ещё меньше. Если несколько слов запроса стоят рядом, добавляется коэффициент. Этого хватает, чтобы находить подходящие страницы, но не хватает, чтобы стабильно ставить лучшую наверх.

— И ты понял, что мне нужен PageRank?

Впервые за весь разговор он посмотрел на меня с неподдельным интересом.

— Я понял, зачем вы заставили нас сохранять все связи между страницами.

Игнасио взял карандаш, перевернул один из исписанных листов чистой стороной и нарисовал несколько кружков.

— Обычный текстовый поиск смотрит внутрь страницы. Ваш PageRank должен смотреть ещё и на сеть вокруг неё. Если на страницу ссылаются другие сайты, она получает вес. Если на неё ссылается страница, которая сама считается важной, вес ссылки должен быть выше.

Он начал соединять кружки стрелками.

— Получается граф. Каждая страница становится узлом, каждая ссылка связью между узлами. Сам алгоритм я ещё не написал, но все нужные данные паук уже собирает.

— Сколько их?

— Сейчас больше шестидесяти миллионов уникальных адресов в очереди и около ста миллионов обнаруженных связей между страницами. Часть отсеется. Часть адресов окажется мёртвой. Но для первых экспериментов данных уже достаточно.

Я некоторое время смотрел на исписанный лист.

Семь дней.

Я попросил человека собирать ссылки семь дней назад.

— Допустим, ты всё это сделаешь. Что потом?

Игнасио отложил карандаш.

— Потом нужно решить, что именно вы хотите построить.

— Поисковик.

Он покачал головой.

— Это как сказать, что вы хотите автомобиль. Один автомобиль возит семью, другой сорок тонн груза. Формально и то и другое автомобиль, но строятся они совсем по-разному.

Я сделал приглашающий жест.

— Продолжай.

— Если вам нужен поисковик только для Валентии, задача относительно простая. Национальный сегмент сети я сейчас оцениваю примерно в пятьдесят-шестьдесят миллионов действительно полезных страниц. Возможно, до ста миллионов, если собирать всё подряд, включая архивы, дубли и почти заброшенные сайты. При нынешней скорости до приемлемого покрытия мы доберёмся за несколько недель.

— А дальше?

— Дальше надо закончить индексатор, сделать нормальное ранжирование, посчитать ссылочный вес, научить систему лучше работать с формами слов и собрать всё так, чтобы индекс можно было постоянно обновлять, не останавливая поиск. Понадобится ещё резервное хранение и нормальное распределение нагрузки. Если один сервер упадёт, весь поиск падать не должен.

— Люди?

Игнасио задумался всего на несколько секунд.

— Если не отбирать их у Виды, ещё шесть человек.

— Почему именно шесть?