Как устроены поисковые системы
-
Upload
yaevents -
Category
Technology
-
view
2.623 -
download
5
Transcript of Как устроены поисковые системы
Как устроены поисковые
системы*
Александр СадовскийРуководитель отдела веб-поиска
СтуДень, Новосибирск, 24 сентября 2010 г.* (по мотивам презентации Толи Орлова)
Вопрос для разминки
Почему поиск файла на моем компьютере занимает 10-20
секунд,
а поиск по содержимому всех документов во всем интернете
меньше секунды?
Заранее подготовленные данные
Примеры:
• Телефонный справочник.
• Каталог библиотеки.
• Предметный указатель в книге.
Кошмар телефониста
+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
рабочих дня.
Кошмар библиотекаря
Начните с северной части библиотеки. Вы не забыли взять спальный мешок и
запас воды и пищи на неделю?
В словах нужен порядок
Предметный указатель
Б• Бармаглот, 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
Предметный указатель
Б• Бармаглот, 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
Поисковый индекс
• Заранее подготовленные данные для поисковой машины.
• Все слова, не только спец. термины.
• Все упоминания слов.
• Номера предложений/слов.
• Служебная информация.
Как мы ищем по индексу«Летит ужасный Бармаглот и пылкает огнем»
и: 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
Поисковый сервер
Поисковый кластер
“Базовый поиск” x NNN
“Метапоиск”
Реплики и Дата центры
• Чем больше машин, тем чаще одна из них ломается.
• Потеря машины -> недоступность данных на ней.
• Каждую машину надо дублироватьразмножить aka реплицировать.
• Репликация помогает бороться с нагрузкой.
• Репликация между разными дата-центрамипозволяет их терять.
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
Откуда берется индекс
• Большой робот~9B страницВ среднем переобходим раз в 2 неделиНовая база выкладывается раз в 2-3 дня
• Быстрый/Realtime роботСущественно меньше страницДля особо важных 5-7 минутДля остальных 1-2 часа
Робот
Интернет
Паук Паук Паук
Быстрый роботБольшой робот
метапоиски
Балансировщик нагрузки
Базовые поиски
Быстрые поиски
Пользователь
Робот – это сложно• Сделать телефонный справочник очень
просто.
• Сделать робот сложнее– Интернет бесконечный, но в среднем в нем
мусор и очень большое дублирование.
– Сайты быстро меняются и являются активной сущностью.
– Многие сайты не хотят, чтобы их обходили.
– Много сайтов целенаправленно пытаются обмануть робота.
В жизни все сложнее…
• Нагрузка/ Кэширование / Несколько уровней поиска / Прюнинг / Параллельные поиски
• Сложный язык запросов / кворум / расстояния / ранжирование / морфология / регионализация
• Антиспам / Выбор документов для обхода
?
Анатолий Орлов