Сбор адресов страниц в интернете
Для начала поисковый робот составляет список адресов веб-страниц, по которым впоследствии будет производиться индексация. Изначально разработчики загружают в систему небольшой набор начальных URL, взятых, к примеру, из какого-либо каталога сайтов. Далее робот анализирует содержимое каждой страницы в этом списке, извлекает все гиперссылки и пополняет первоначальный пул адресов. Таким образом, за счет переходов по ссылкам список адресов быстро разрастается до миллиардов.
Однако страницы, на которые нет ни одной внешней ссылки, не могут самостоятельно оказаться в индексе поисковика. Хотя со временем робот может и добраться до них, это произойдет не скоро. Владелец сайта при желании может вручную добавить новые URL в базу поисковой системы.
Выкачивание страниц
Для дальнейшей работы с текстом веб-страниц необходимо получить их содержимое. Этим занимается специальный поисковый робот, называемый пауком (crawler) или сканером. Он обращается по очереди к каждому адресу, сформированному на предыдущем этапе, выкачивает контент страниц и передает на последующую обработку. Так накапливаются огромные объемы текстовых данных.
Индексация
Далее приступает к работе индексный робот, который строит поисковый индекс на основе выкачанных данных. Он извлекает из текстов все слова, располагает их в алфавитном порядке вместе с номерами страниц и служебной информацией. Для этого система последовательно разбирает каждый документ, нумерует страницы, очищает текст от ненужных элементов вроде HTML-разметки, вычленяет отдельные слова и помещает их в индекс с указанием исходных страниц. Так формируется огромная база данных, позволяющая в дальнейшем мгновенно находить нужную информацию по запросу пользователя.
Поиск
Когда пользователь вводит запрос, поисковик обращается к индексу, находит в нем указанные ключевые слова и извлекает списки страниц, где они встречаются. Если в запросе несколько слов, система сравнивает списки для каждого из них и оставляет лишь URL, присутствующие во всех этих списках – то есть те страницы, где встречаются сразу все слова. В результатах поиска отображаются название страницы, дата ее создания, адрес и цитата из текста с подсвеченными искомыми словами.
Для более детального понимания рассмотрим систему фильтрации, через которую проходят обрабатываемые страницы.