Upload
it-people
View
1.722
Download
3
Embed Size (px)
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мс