В ранние годы интернет-эры миллионы файлов хранились на тысячах анонимных FTP-сайтов. В этом многообразии пользователям было достаточно сложно обнаружить программу, подходящую для решения их задачи.
Более того, они заранее не знали, существует ли искомый инструмент. Поэтому приходилось вручную просматривать FTP-хранилища, структура которых значительно отличалась. Именно эта проблема и привела к появлению одного из ключевых аспектов современного мира — интернет-поиска.
/ фото mariana abasolo CC
Считается, что создателем первого поискового движка выступил Алан Эмтейдж (Alan Emtage). В 1989 году он работал в университете Макгилла в Монреале, куда переехал из родного Барбадоса. Одной из его задач как администратора университетского факультета информационных технологий было нахождение программ для студентов и преподавателей. Чтобы облегчить себе работу и сэкономить время, Алан написал код, который выполнял поиск за него.
«Вместо того чтобы тратить свое время на брожение по FTP-сайтам и пытаться понять, что на них есть, я написал скрипты, которые делали это за меня, — рассказывает Алан, — и делали быстро».
Эмтейдж написал простой сценарий, автоматизирующий задачу внедрения в листинги на FTP-серверах, которые затем копировались в локальные файлы. В этих файлах осуществлялся быстрый поиск необходимой информации с помощью стандартной grep-команды Unix. Таким образом, Алан создал первую в мире поисковую систему, которая получила название Archie — это сокращение от слова Archive (Архив).
Archie оказался способен производить поиск среди 2,1 миллиона файлов более чем на тысяче сайтов по всему миру в течение нескольких минут. От пользователя требовалось ввести тему, а система предоставляла отчет о местонахождении файлов, названия которых совпадали с ключевыми словами.
Решение оказалось настолько удачным, что в 1990 году Эмтейдж и его партнер Питер Дойч (Peter Deutsch) основали компанию Bunyip, намереваясь вывести на рынок более мощную коммерческую версию Archie. Можно сказать, что это был первый интернет-стартап в истории, поскольку Bunyip продавали интернет-сервис.
«Все началось с тридцати посещений в день, потом было тридцать запросов в час, потом — в минуту, — рассказывает Питер. — Трафик продолжал расти, потому мы начали работу над механизмами масштабирования».
Команда решила привести листинги к более эффективному представлению. Данные были разбиты на отдельные базы: в одной из них хранились текстовые названия файлов, в другой — записи со ссылками на иерархические директории хостов. Была и третья база, соединяющая две другие между собой. Поиск при этом производился поэлементно по именам файлов.
Со временем были реализованы и другие доработки. Например, база данных вновь была изменена — её заменила база данных, основанная на теории сжатых деревьев. Новая версия формировала текстовую базу данных вместо списка имен файлов и работала значительно быстрее предыдущих. Также произведенные второстепенные улучшения позволили Archie проводить индексацию веб-страниц.
К сожалению, работа над Archie была прекращена, а революция в области поисковых систем — отложена. Эмтейдж со своими партнерами разошлись во взглядах касательно будущих инвестиций, и в 1996 году он принял решение об уходе. После этого клиент Bunyip проработал еще год, а затем стал частью Mediapolis, Нью-Йоркской фирмы веб-дизайна. При этом патенты на все наработанные технологии так и не были получены.
«Зато я приобрел замечательный опыт: путешествовал по миру, участвовал в конференциях и встречался с людьми, формировавшими облик современного интернета», — вспоминает Алан. Как члену организации «Общество Интернета», ему удалось поработать с такими людьми, как Тим Бернерс-Ли, Винтон Серф и Джон Постел.
И все же Archie удалось оказать влияние на развитие WWW. В частности, на появление стандарта исключений для роботов. Инструмент использовался для информирования роботов о том, к каким частям сервера нельзя обращаться. Для этого применялся файл robots.txt, к которому можно было получить доступ по HTTP.
Он содержал одну или несколько строк, содержащих информацию в следующем формате:
Запись <поле> могла принимать два значения: User-agent или Disallow. User-agent конкретизировала имя робота, для которого описывалась политика, а Disallow определял разделы, к которым закрывался доступ.
Например, файл с такой информацией запрещает всем роботам доступ к любым URL с /cyberworld/map/ или /tmp/, или /foo.html:
В этом примере закрывается доступ к /cyberworld/map для всех роботов, кроме cybermapper:
Этот файл «развернет» всех роботов, которые попробуют получить доступ к информации на сайте:
Созданный практически три десятилетия назад, Archie все это время не получал никаких обновлений. И он предлагал совершенно иной опыт общения с интернетом. Но даже сегодня с его помощью можно найти необходимую вам информацию. Одним из мест, которые до сих пор хостят поисковый движок Archie, является Варшавский университет. Правда большая часть находимых сервисом файлов датируются 2001 годом.
![](https://habrastorage.org/r/w1560/files/ad7/94d/8d0/ad794d8d05fa4748830c6ddeb54cb009.png)
Несмотря на тот факт, что Archie — это примитивный поисковый движок, он все же предлагает несколько функций для настройки поиска. Помимо возможности указать базу данных (анонимные FTP или польский веб-индекс), система предлагает выбрать варианты трактовки введенной строки: как подстроку, как дословный поиск или регулярное выражение. Вам даже доступны функции по выбору регистра и три опции по изменению вариантов отображения результатов: ключевые слова, описание или ссылки.
![](https://habrastorage.org/r/w1560/files/d58/4e3/e06/d584e3e0688e409790794001c53e8e00.png)
Также имеются несколько опциональных параметров поиска, которые позволяют более точно определить необходимые файлы. Имеется возможность добавления служебных слов OR и AND, ограничение области поиска файлов определённым путем или доменом (.com, .edu, .org и др.), а также задание максимального числа выдаваемых результатов.
Хотя Archie очень старый поисковый движок, он все же предоставляет довольно мощную функциональность при поиске нужного файла. Однако по сравнению с современными поисковыми системами, он крайне примитивен. «Поисковики» ушли далеко вперед — достаточно лишь начать вводить желаемый запрос, как система уже предлагает варианты поиска. Не говоря уже об используемых алгоритмах машинного обучения.
Сегодня машинное обучение представляет собой одну из главных частей поисковых систем, таких как Google или «Яндекс». Примером использования этой технологии может быть ранжирование поиска: контекстуальное ранжирование, персонализированное ранжирование и др. При этом очень часто применяются системы Learning to Rank (LTR).
Машинное обучение также позволяет «понимать» запросы, вводимые пользователем. Сайт самостоятельно корректирует написание, обрабатывает синонимы, разрешает вопросы многозначности (что хотел найти пользователь, информацию о группе Eagles или же об орлах). Поисковые системы самостоятельно учатся классифицировать сайты по URL — блог, новостной ресурс, форум и т. д., а также самих пользователей для составления персонализированного поиска.
Archie породил такие поисковые системы, как Google, потому в какой-то мере его можно считать прапрадедушкой поисковых движков. Это было почти тридцать лет назад. Сегодня индустрия поисковых систем зарабатывает порядка 780 миллиардов долларов ежегодно.
Что касается Алана Эмтейджа, то когда его спрашивают об упущенной возможности разбогатеть, он отвечает с долей скромности. «Разумеется, я бы хотел разбогатеть, — говорит он. — Однако даже с оформленными патентами я мог бы и не стать миллиардером. Слишком легко допустить неточности в описании. Иногда выигрывает не тот, кто был первым, а тот, кто стал лучшим».
Google и другие компании не были первыми, но они превзошли своих конкурентов, что позволило основать многомиллиардную индустрию.
P.S. Наш дайджест практических материалов о работе с IaaS.
Более того, они заранее не знали, существует ли искомый инструмент. Поэтому приходилось вручную просматривать FTP-хранилища, структура которых значительно отличалась. Именно эта проблема и привела к появлению одного из ключевых аспектов современного мира — интернет-поиска.
![](https://habrastorage.org/files/9f3/95a/a36/9f395aa361e543728f5bdd21fea28fc4.jpg)
История создания
Считается, что создателем первого поискового движка выступил Алан Эмтейдж (Alan Emtage). В 1989 году он работал в университете Макгилла в Монреале, куда переехал из родного Барбадоса. Одной из его задач как администратора университетского факультета информационных технологий было нахождение программ для студентов и преподавателей. Чтобы облегчить себе работу и сэкономить время, Алан написал код, который выполнял поиск за него.
«Вместо того чтобы тратить свое время на брожение по FTP-сайтам и пытаться понять, что на них есть, я написал скрипты, которые делали это за меня, — рассказывает Алан, — и делали быстро».
Эмтейдж написал простой сценарий, автоматизирующий задачу внедрения в листинги на FTP-серверах, которые затем копировались в локальные файлы. В этих файлах осуществлялся быстрый поиск необходимой информации с помощью стандартной grep-команды Unix. Таким образом, Алан создал первую в мире поисковую систему, которая получила название Archie — это сокращение от слова Archive (Архив).
Archie оказался способен производить поиск среди 2,1 миллиона файлов более чем на тысяче сайтов по всему миру в течение нескольких минут. От пользователя требовалось ввести тему, а система предоставляла отчет о местонахождении файлов, названия которых совпадали с ключевыми словами.
Решение оказалось настолько удачным, что в 1990 году Эмтейдж и его партнер Питер Дойч (Peter Deutsch) основали компанию Bunyip, намереваясь вывести на рынок более мощную коммерческую версию Archie. Можно сказать, что это был первый интернет-стартап в истории, поскольку Bunyip продавали интернет-сервис.
«Все началось с тридцати посещений в день, потом было тридцать запросов в час, потом — в минуту, — рассказывает Питер. — Трафик продолжал расти, потому мы начали работу над механизмами масштабирования».
Команда решила привести листинги к более эффективному представлению. Данные были разбиты на отдельные базы: в одной из них хранились текстовые названия файлов, в другой — записи со ссылками на иерархические директории хостов. Была и третья база, соединяющая две другие между собой. Поиск при этом производился поэлементно по именам файлов.
Со временем были реализованы и другие доработки. Например, база данных вновь была изменена — её заменила база данных, основанная на теории сжатых деревьев. Новая версия формировала текстовую базу данных вместо списка имен файлов и работала значительно быстрее предыдущих. Также произведенные второстепенные улучшения позволили Archie проводить индексацию веб-страниц.
К сожалению, работа над Archie была прекращена, а революция в области поисковых систем — отложена. Эмтейдж со своими партнерами разошлись во взглядах касательно будущих инвестиций, и в 1996 году он принял решение об уходе. После этого клиент Bunyip проработал еще год, а затем стал частью Mediapolis, Нью-Йоркской фирмы веб-дизайна. При этом патенты на все наработанные технологии так и не были получены.
«Зато я приобрел замечательный опыт: путешествовал по миру, участвовал в конференциях и встречался с людьми, формировавшими облик современного интернета», — вспоминает Алан. Как члену организации «Общество Интернета», ему удалось поработать с такими людьми, как Тим Бернерс-Ли, Винтон Серф и Джон Постел.
Оставил след
И все же Archie удалось оказать влияние на развитие WWW. В частности, на появление стандарта исключений для роботов. Инструмент использовался для информирования роботов о том, к каким частям сервера нельзя обращаться. Для этого применялся файл robots.txt, к которому можно было получить доступ по HTTP.
Он содержал одну или несколько строк, содержащих информацию в следующем формате:
<поле>:<необязательный пробел><значение><необязательный пробел>
Запись <поле> могла принимать два значения: User-agent или Disallow. User-agent конкретизировала имя робота, для которого описывалась политика, а Disallow определял разделы, к которым закрывался доступ.
Например, файл с такой информацией запрещает всем роботам доступ к любым URL с /cyberworld/map/ или /tmp/, или /foo.html:
# robots.txt for http://www.example.com/
User-agent: *
Disallow: /cyberworld/map/ # This is an infinite virtual URL space
Disallow: /tmp/ # these will soon disappear
Disallow: /foo.html
В этом примере закрывается доступ к /cyberworld/map для всех роботов, кроме cybermapper:
# robots.txt for http://www.example.com/
User-agent: *
Disallow: /cyberworld/map/ # This is an infinite virtual URL space
# Cybermapper knows where to go.
User-agent: cybermapper
Disallow:
Этот файл «развернет» всех роботов, которые попробуют получить доступ к информации на сайте:
# go away
User-agent: *
Disallow: /
Бессмертный Archie
Созданный практически три десятилетия назад, Archie все это время не получал никаких обновлений. И он предлагал совершенно иной опыт общения с интернетом. Но даже сегодня с его помощью можно найти необходимую вам информацию. Одним из мест, которые до сих пор хостят поисковый движок Archie, является Варшавский университет. Правда большая часть находимых сервисом файлов датируются 2001 годом.
![](https://habrastorage.org/files/ad7/94d/8d0/ad794d8d05fa4748830c6ddeb54cb009.png)
Несмотря на тот факт, что Archie — это примитивный поисковый движок, он все же предлагает несколько функций для настройки поиска. Помимо возможности указать базу данных (анонимные FTP или польский веб-индекс), система предлагает выбрать варианты трактовки введенной строки: как подстроку, как дословный поиск или регулярное выражение. Вам даже доступны функции по выбору регистра и три опции по изменению вариантов отображения результатов: ключевые слова, описание или ссылки.
![](https://habrastorage.org/files/d58/4e3/e06/d584e3e0688e409790794001c53e8e00.png)
Также имеются несколько опциональных параметров поиска, которые позволяют более точно определить необходимые файлы. Имеется возможность добавления служебных слов OR и AND, ограничение области поиска файлов определённым путем или доменом (.com, .edu, .org и др.), а также задание максимального числа выдаваемых результатов.
Хотя Archie очень старый поисковый движок, он все же предоставляет довольно мощную функциональность при поиске нужного файла. Однако по сравнению с современными поисковыми системами, он крайне примитивен. «Поисковики» ушли далеко вперед — достаточно лишь начать вводить желаемый запрос, как система уже предлагает варианты поиска. Не говоря уже об используемых алгоритмах машинного обучения.
Наши посты: Машинное обучение
Сегодня машинное обучение представляет собой одну из главных частей поисковых систем, таких как Google или «Яндекс». Примером использования этой технологии может быть ранжирование поиска: контекстуальное ранжирование, персонализированное ранжирование и др. При этом очень часто применяются системы Learning to Rank (LTR).
Машинное обучение также позволяет «понимать» запросы, вводимые пользователем. Сайт самостоятельно корректирует написание, обрабатывает синонимы, разрешает вопросы многозначности (что хотел найти пользователь, информацию о группе Eagles или же об орлах). Поисковые системы самостоятельно учатся классифицировать сайты по URL — блог, новостной ресурс, форум и т. д., а также самих пользователей для составления персонализированного поиска.
Прапрадедушка поисковых движков
Archie породил такие поисковые системы, как Google, потому в какой-то мере его можно считать прапрадедушкой поисковых движков. Это было почти тридцать лет назад. Сегодня индустрия поисковых систем зарабатывает порядка 780 миллиардов долларов ежегодно.
Что касается Алана Эмтейджа, то когда его спрашивают об упущенной возможности разбогатеть, он отвечает с долей скромности. «Разумеется, я бы хотел разбогатеть, — говорит он. — Однако даже с оформленными патентами я мог бы и не стать миллиардером. Слишком легко допустить неточности в описании. Иногда выигрывает не тот, кто был первым, а тот, кто стал лучшим».
Google и другие компании не были первыми, но они превзошли своих конкурентов, что позволило основать многомиллиардную индустрию.
P.S. Наш дайджест практических материалов о работе с IaaS.