19
Как устроены поисковые системы* Александр Садовский Руководитель отдела веб-поиска СтуДень, Новосибирск, 24 сентября 2010 г. * (по мотивам презентации Толи Орлова)

Как устроены поисковые системы

Embed Size (px)

Citation preview

Page 1: Как устроены поисковые системы

Как устроены поисковые

системы*

Александр СадовскийРуководитель отдела веб-поиска

СтуДень, Новосибирск, 24 сентября 2010 г.* (по мотивам презентации Толи Орлова)

Page 2: Как устроены поисковые системы

Вопрос для разминки

Почему поиск файла на моем компьютере занимает 10-20

секунд,

а поиск по содержимому всех документов во всем интернете

меньше секунды?

Page 3: Как устроены поисковые системы

Заранее подготовленные данные

Примеры:

• Телефонный справочник.

• Каталог библиотеки.

• Предметный указатель в книге.

Page 4: Как устроены поисковые системы

Кошмар телефониста

+7-916-0000001 – Иванов Иван Иванович

+7-916-0000002 – Петров Андрей Викторович

+7-916-0000003 – Сидоров Дмитрий Иванович

+7-916-0000004 – …

+7-916-0000005 – …

+7-916-0000006 – …

+7-916-0000007 – …

+7-916-0000008 – …

+7-916-0000009 – …

Ваш запрос на поиск телефона «Иванова Виктора Петровича» принят. Пожалуйста, перезвоните через 3

рабочих дня.

Page 5: Как устроены поисковые системы

Кошмар библиотекаря

Начните с северной части библиотеки. Вы не забыли взять спальный мешок и

запас воды и пищи на неделю?

Page 6: Как устроены поисковые системы

В словах нужен порядок

Page 7: Как устроены поисковые системы

Предметный указатель

Б• Бармаглот, 196, 198, 217 • Брандашмыг , 15, 18, 317

В• Варкаться , 2, 18, 39

З• Зелюк, 15, 47, 79, 115• Злопастность, 18, 45, 317М• Мова, 12, 16, 17• Мюмзик , 8, 18, 191

Н• Нава, 56

П• Пыряться, 77, 128

Р• Рымать , 14

С• Свирлепость, 195, 278

Х• Хливкость, 33, 135• Хрюкотать , 134, 156

Ш• Шорёк, 2, 4, 6, 8, 15

Page 8: Как устроены поисковые системы

Предметный указатель

Б• Бармаглот, 196, 198, 217 • Брандашмыг , 15, 18, 317

В• Варкаться , 2, 18, 39

З• Зелюк, 15, 47, 79, 115• Злопастность, 18, 45, 317М• Мова, 12, 16, 17• Мюмзик , 8, 18, 191

Н• Нава, 56

П• Пыряться, 77, 128

Р• Рымать , 14

С• Свирлепость, 195, 278

Х• Хливкость, 33, 135• Хрюкотать , 134, 156

Ш• Шорёк, 2, 4, 6, 8, 1515

Page 9: Как устроены поисковые системы

Поисковый индекс

• Заранее подготовленные данные для поисковой машины.

• Все слова, не только спец. термины.

• Все упоминания слов.

• Номера предложений/слов.

• Служебная информация.

Page 10: Как устроены поисковые системы

Как мы ищем по индексу«Летит ужасный Бармаглот и пылкает огнем»

и: 1,2,3,4,5,6,7,8,9,…,391,392,393,…,100001,100002,…

пылкает: 10001, 27005, 60012, 112060 …

Слово Частота Документы

Летит 52.5M 32M

ужасный 80.3M 59M

Бармаглот 370K 118K

и 38.5B 2.5B

пылкает 11K 4.6K

огнем 124M 62M

Всего 4K

Page 11: Как устроены поисковые системы

Поисковый сервер

Page 12: Как устроены поисковые системы

Поисковый кластер

“Базовый поиск” x NNN

“Метапоиск”

Page 13: Как устроены поисковые системы

Реплики и Дата центры

• Чем больше машин, тем чаще одна из них ломается.

• Потеря машины -> недоступность данных на ней.

• Каждую машину надо дублироватьразмножить aka реплицировать.

• Репликация помогает бороться с нагрузкой.

• Репликация между разными дата-центрамипозволяет их терять.

Page 14: Как устроены поисковые системы

www.yandex.ru

IP1 (77.88.21.3) IP2 (87.250.251.3) IP3 (93.158.134.3) IP4 (213.180.204.3)

метапоиски

Балансировщик нагрузки

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

Дата Центр #2

метапоиски

Балансировщик нагрузки

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

Дата Центр #1

метапоиски

Балансировщик нагрузки

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

Дата Центр #3

метапоиски

Балансировщик нагрузки

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

Дата Центр #4

Page 15: Как устроены поисковые системы

Откуда берется индекс

• Большой робот~9B страницВ среднем переобходим раз в 2 неделиНовая база выкладывается раз в 2-3 дня

• Быстрый/Realtime роботСущественно меньше страницДля особо важных 5-7 минутДля остальных 1-2 часа

Page 16: Как устроены поисковые системы

Робот

Интернет

Паук Паук Паук

Быстрый роботБольшой робот

метапоиски

Балансировщик нагрузки

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

Быстрые поиски

Пользователь

Page 17: Как устроены поисковые системы

Робот – это сложно• Сделать телефонный справочник очень

просто.

• Сделать робот сложнее– Интернет бесконечный, но в среднем в нем

мусор и очень большое дублирование.

– Сайты быстро меняются и являются активной сущностью.

– Многие сайты не хотят, чтобы их обходили.

– Много сайтов целенаправленно пытаются обмануть робота.

Page 18: Как устроены поисковые системы

В жизни все сложнее…

• Нагрузка/ Кэширование / Несколько уровней поиска / Прюнинг / Параллельные поиски

• Сложный язык запросов / кворум / расстояния / ранжирование / морфология / регионализация

• Антиспам / Выбор документов для обхода

Page 19: Как устроены поисковые системы

?

Анатолий Орлов