Как устроен Яндекс Поиск


Лекция от Дениса Нагорнова, встреча CodeFreeze 25.04.2013 г.

Денис Нагорнов работает в поиске Яндекса с 2000 года, делал поиск по Новостям, Блогам, Маркету. Сейчас руководит отделом разработки инфраструктуры веб-поиска и немного приглядывает за надёжностью и производительностью поиска.

Каждый день поиском Яндекса пользуются миллионы людей. Напечать запрос и получить ответ можно в считанные мгновения. За этой скоростью стоит работа тысяч компьютеров над огромными объёмами данных.  


В докладе мы "заглянем" в миллисекунды, длящиеся от нажатия кнопки "Найти" до получения странички с ответами:

  • основы полнотекстового поиска
  • физическое и логическое устройство поисковой базы
  • как происходит выполнение поискового запроса
  • как справляться с высокими нагрузками

 

План доклада

Полнотекстовый поиск:

  • прямой поиск (grep)
  • инвертированный файл (индекс)

 

Составные части поиска:

  • crawler («паук»)
  • индексатор (парсеры, лингвистика)
  • собственно, поиск

 

Устройство базового поиска в яндексе

  • сам индекс (поиск)
  • архивы (сниппеты, сохранённая копия)
  • атрибуты (группировка результатов, свойства)

 

Структура базы: физическое и логические разбиения

 

Выполнение поисковых запросов

  • поисковые источники
  • проблемы производительности
  • метапоиск: кеширование, сглаживание сетевых проблем
  • общая схема выполнения запросов

 

Мониторинг

  • составляющие скорости (бекэнд, сеть, пользовательский компьютер)
  • проблема последнего ответившего источника
  • среднее время vs. квантили 95%
  • ключевые показатели





Комментарии:


Как поднять посещаемость сайта с помощью умной перелинковкиВидеокурс для асессоров Яндекса по оценке релевантности веб-страниц