Владислав Дорофеев - Яндекс Воложа. История создания компании мечты
Бета-тестирование — распространение новой версии (бета-версии) продукта или сервиса, платформы среди ограниченного числа пользователей.
Браузер — программное обеспечение для просмотра сайтов, то есть для запроса веб-страниц (преимущественно из Сети), их обработки, вывода и перехода от одной страницы к другой.
Движок — выделенная часть программного кода для реализации конкретной прикладной задачи — программа, часть программы, комплекс программ или библиотека, в зависимости от задачи и реализации. Использование готового движка при разработке программы, сайта или другого продукта сокращает время разработки, позволяет уделить больше времени разработке других подсистем.
Дистрибутив (дистрибутивная копия) — копия программного продукта, предназначенная для распространения (бесплатного или платного) и установки пользователем. В большинстве случаев — установочная архивированная версия программного продукта.
Детектировать (от англ. detect) — замечать, открывать, обнаруживать, раскрывать.
Интерфейс — часть программы, взаимодействующая с пользователем, посредством него приложение получает доступ к операционной системе и другим сервисам.
Код — написанный человеком текст компьютерной программы на каком-либо языке программирования.
Колдунщики — информационные блоки в результатах поиска с ответами от сервисов «Яндекса».
«Матрикснет» (MatrixNet) — метод машинного обучения, с помощью которого строится формула ранжирования поиска «Яндекса», которую теперь можно настраивать отдельно для достаточно узких классов запросов. Например, локализовать поиск для региональных пользователей.
Машинное обучение — попытка научить компьютер решать задачи, которые легко даются человеку, но формализовать путь их решения сложно. В результате машинного обучения компьютер может демонстрировать поведение, которое в него не было явно заложено.
Морфология (от греч. morhpe — форма, logos — учение) — изучает слова как части речи с точки зрения их грамматических свойств, это наука о правилах словоизменения и словообразования. Основа морфологии: корень, суффикс, приставка, окончание (или флексия — самая большая головная боль разработчиков русскоязычных поисковиков), которое способно меняться в зависимости от рода, числа и падежа. Морфология русского языка еще в 1970-х гг. была исчерпывающе описана Андреем Анатольевичем Зализняком, будущим академиком Российской академии наук. Результатом этого научного прорыва стали базовые труды для русской морфологии — «Русское именное словоизменение» (1967) и особенно «Грамматический словарь русского языка» (1977), в котором для 100 000 слов русского языка указана точная модель словоизменения и предложена классификация самих этих моделей. Этот словарь стал основой для разработки компьютерных программ автоматического морфологического анализа, в том числе в информационном поиске, в машинном переводе. Именно этот труд лег в основу алгоритма поиска «Яндекса» и других поисковиков, основанного на морфологическом принципе опознавания слов.
Омонимия — совпадение слов (словоформ) с разным лексическим значением.
Паук (робот-паук) — регулярно обходит документы по заданному маршруту; если сайт на месте, то есть работает и доступен, паук выкачивает запланированные в маршруте документы. Он определяет тип скачанного документа (.html, pdf, swf и т. п.), кодировку и язык, а затем отправляет данные в хранилище.
Псевдооптимизация — попытка обмана поисковой системы и манипулирования ее результатами с целью завышения позиции сайтов (страниц) в результатах поиска; использование SEO-ссылок, которые на коммерческой основе размещаются на сторонних ресурсах (количество ссылок на страницу и их текст учитываются при ранжировании). Спрос на SEO-ссылки стимулирует наводнение Интернета сотнями тысяч бесполезных сайтов, забитых заимствованным или бессмысленным контентом.
Поиск — состоит из двух больших частей: первая — когда поисковик ищет различные документы в Интернете и составляет поисковый индекс; вторая — когда ищется ответ на конкретный запрос пользователя в уже подготовленной поисковой базе. Пользовательские запросы сначала попадают в компьютерную систему «метапоиск», который обрабатывает каждый запрос в реальном времени — выясняет все необходимые данные про запрос (из какого региона он был задан, к какому классу относится и т. п.), проводит лингвистическую обработку; затем метапоиск проверяет, формировались ли в последнее время результаты поиска для этого запроса, потому что результаты поиска по часто задаваемым запросам некоторое время хранятся в памяти метапоиска, а не формируются каждый раз заново; если вновь пришедший запрос оказался популярным, метапоиск покажет пользователю заранее сохраненные результаты. Если же ответа в памяти нет, то метапоиск передает запрос на сервера другой компьютерной системы — «базового поиска». На базовом поиске хранится слепок Интернета, по которому ищет «Яндекс», — поисковая база. Она разбита на части, которые хранятся на разных серверах — искать ответ одновременно по нескольким частям базы данных быстрее, чем по всей базе целиком. Кроме того, у каждого сервера есть несколько копий. Это позволяет распределять нагрузку и не терять данные — если один из серверов не сможет своевременно ответить, информация все равно найдется на дублирующих серверах. Из тысяч серверов базового поиска метапоиск выбирает наименее загруженные — таким образом, чтобы вместе они содержали целую поисковую базу. Каждый из серверов отдает список документов, в которых есть слова из запроса, обратно в метапоиск. Там они объединяются, ранжируются с помощью технологии «Матрикснет» и попадают на страницу результатов поиска. Благодаря такой организации поиска «Яндекс» может отвечать пользователю за доли секунды.
Поисковая база — слепок Интернета, по которому ищет поисковик; поисковый индекс, данные о типе документов, кодировке, языке и сохраненные копии документов вместе составляют поисковую базу; обновляется постоянно, но, чтобы это обновление стало доступно пользователям, ее нужно перенести на «базовый поиск». Обновление поисковой базы из хранилища основного робота попадает в поиск «пакетами» — раз в несколько дней. Этот процесс создает дополнительную нагрузку на сервера, поэтому производится ночью, когда к «Яндексу» обращается на порядок меньше пользователей. Сначала новые части базы помещаются рядом с такими же частями из прошлого обхода. Затем они проверяются по целому ряду факторов, чтобы обновление не ухудшило качество поиска. Если проверка прошла успешно, новая часть базы заменяет собой старую.