Структура и принцип действия поисковых систем Internet

 

Поисковая система состоит из следующих основных компонентов: Spider, Crawler, Indexer, Database, Search Engine Results Engine.

Spider(паук) - браузероподобная программа, которая скачивает Web-страницы. Она это делает тем же способом, что и браузер пользователя. Отличие состоит в том, что браузер отображает информацию, содержащуюся на странице (текстовую, графическую и т.д.), паук же не имеет никаких визуальных компонент и работает напрямую с html-текстом страницы.

Crawler (краулер, «путешествующий» паук) - программа, которая автоматически проходит по всем ссылкам, найденным на странице. Его задача - определить, куда дальше должен идти паук, основываясь на ссылках или исходя из заранее заданного списка адресов. Краулер, следуя по найденным ссылкам, осуществляет поиск новых документов, еще неизвестных поисковой системе.

Indexer(индексатор) - программа, которая анализирует веб-страницы, скаченные пауками. Индексатор разбирает страницу на составные части и анализирует их. Выделяются и анализируются различные элементы страницы, такие как текст, заголовки, структурные и стилевые особенности, специальные служебные html-теги и т.д.

Database(база данных) - хранилище скачанных и обработанных страниц. Иногда базу данных называют индексом поисковой системы.

Search engine results engine(система выдачи результатов) - извлекает результаты поиска из базы данных. Система выдачи результатов занимается ранжированием страниц. Она решает, какие страницы удовлетворяют запросу пользователя, и в каком порядке они должны быть отсортированы. Это происходит согласно алгоритмам ранжирования поисковой системы.

Web-server(веб-сервер) - осуществляет взаимодействие между пользователем и остальными компонентами поисковой системы. Как правило, на сервере присутствует html-страница с полем ввода, в котором пользователь может задать интересующий его поисковый термин. Web-сервер также отвечает за выдачу результатов пользователю в виде html-страницы. Детальная реализация поисковых механизмов может отличаться друг от друга (например, связка Spider+CrawleH-Indexer может быть выполнена в виде единой программы, которая скачивает известные Web-страницы, анализирует их и ищет по ссылкам новые ресурсы).