DUMP-2012 - Только хардкор! - "Аннотировать за 40 мс"...

Preview:

DESCRIPTION

 

Citation preview

Dump, Екатеринбург, 25 мая 2012 года

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

Аннотировать за 40мс

2

Часть I: теория

3

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

SERP - Search Engine Report Page

4

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

5

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

6

Каким должен быть сниппет?

• Сниппет должен быть ;)

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

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

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

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

7

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

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

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

— Слова запроса

— Качество текста

— Положение в документе

— Сегментаторные

8

Сегментатор

Заголовок

Меню

Контент

Футер

9

Финишные штрихи

• Выбираем лучший: MatrixNet

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

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

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

• УРА!!!

10

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

11

Сниппеты и Яндекс

• 120 млн. поисковых запросов в сутки

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

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

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

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

12

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

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

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

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

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

Поиск Сниппеты

13

В начале был документ

• 10 млрд. документов

• Без HTML

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

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

• Разметка

14

Море кандидатов

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

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

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

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

15

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

16

Low-level optimizations

• Строки дорого

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

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

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

17

Q99 — 40мс, Q50 — 15мс

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

alivshits@yandex-team.ru

Александр Лившиц

Вопросы?

Recommended