Общие принципы работы поисковых систем
Любая поисковая система включает в себя следующие компоненты:
Crawler (краулер, «путешествующий» паук) – программа, которая проходит
по всем ссылкам, найденным на странице автоматически.
Краулер обнаруживает все ссылки, присутствующие на странице. Его основная задача - определить, куда дальше должен идти паук.
Краулер, переходя по обнаруженным ссылкам, осуществляет поиск новых, еще не известных поисковой системе документов.
Spider (паук) – браузерообразная программа, которая скачивает веб-страницы тем же способом,
что и пользовательский браузер.
Отличие лишь в том, что браузер отображает текстовую, графическую информацию, находящуюся на странице, паук же не может
взаимодействовать ни с какими визуальными компонентами и работает напрямую с html-кодом страницы (просмотреть html-текст
можно с помощью «просмотра html-кода» в браузере, в этом случае отобразиться «сырой» html-текст).
Indexer (индексатор) - программа, которая анализирует веб-страницы, скаченные пауками.
Индексатор разбирает страницу на
составные части и анализирует их содержимое. Выделяются и обрабатываются различные элементы страницы, такие как заголовки,
текст, структурные и стилевые особенности, специальные служебные html-теги и прочее.
Database (база данных) – хранилище всех скачанных и обработанных страниц. В некоторых
случаях базу данных называют индексом
поисковой системы.
Search engine results engine (система выдачи результатов) – извлекает результаты поиска из
базы данных. Занимается ранжированием
страниц. Она решает, какие страницы удовлетворяют запросу пользователя, и в каком порядке они должны быть
отсортированы при выдаче
результата. Это происходит согласно алгоритмам ранжирования поисковой системы.
Web server (веб-сервер) – веб-сервер, который осуществляет взаимодействие между пользователем
и остальными компонентами поисковой
системы. Как правило, на сервере присутствует html-страница с полем ввода термина, слова или словосочетания для поиска.
Веб-сервер
также отвечает за выдачу результатов пользователю в виде html-страницы.