SlideShare a Scribd company logo
Аннотировать за 40мс
Александр Лившиц
руководитель группы разработки сниппетов



Dump, Екатеринбург, 25 мая 2012 года
Часть I: теория




2
Унылый SERP луны :)




SERP - Search Engine Report Page

3
Что такое сниппет?




4
Виды сниппетов




5
Каким должен быть сниппет?
• Сниппет должен быть ;)

• Содержать слова запроса

• Помогать быстро и легко понять, насколько
  результат соответствует запросу

• Отвечать на вопрос пользователя

• Выглядеть прилично


6
Муки выбора
• Выбираем текст

• Генерируем кандидаты

• Считаем факторы:

      — Слова запроса
      — Качество текста
      — Положение в документе
      — Сегментаторные

7
Сегментатор


         Заголово
         к



         Меню


    Контент




8     Футер
Финишные штрихи
• Выбираем лучший: MatrixNet

• Специальные сниппеты

• Строим заголовок

• Чистим, красим

• УРА!!!



9
Часть II: скорость




10
Сниппеты и Яндекс
• 120 млн. поисковых запросов в сутки

• 1.5 млрд. сниппетов в сутки

• 500мс на ответ пользователю

• Q95 50мс - на построение сниппетов по запросу

• Q99,6 40 мс - на сниппет



11
Архитектура Я.Поиска
                 Верхний
     Поиск       метапоиск     Сниппеты




                 Средний
                 метапоиск




       Базовый   Базовый     Базовый
       поиск     поиск       поиск



12
В начале был документ
• 10 млрд. документов

• Без HTML

• Подокументное сжатие

• Дополнительные данные

• Разметка



13
Море кандидатов
• Анализируем не весь текст

• Полный перебор — слишком дорого

• Генерируем не все кандидаты

• С n-фрагментными все еще хуже




14
Разнообразие




15
Low-level optimizations
• Строки дорого

• Интегральное представление для факторов

• Расчет формулы на SSE — 15%

• Хороший аллокатор — 30%




16
Q99 — 40мс, Q50 — 15мс




17
Вопросы?

           Александр Лившиц
           руководитель группы        разработки
           сниппетов

           alivshits@yandex-team.ru

More Related Content

DUMP-2012 - Только хардкор! - "Аннотировать за 40 мс" Александр Лившиц (Яндекс)