SlideShare a Scribd company logo
1 of 17
Как устроены поисковые системы Анатолий Орлов Руковожу разработкой поиска СтуДень, Москва, 1 апреля 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 З Зелюк, 3, 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
Поисковый индекс Заранее подготовленные данные для поисковой машины Все слова, не только спец термины Все упоминания слов Номера предложений/слов Служебная информация
Как мы ищем по индексу “Летит ужасный Бармаглот и пылкает огнем” и: 1,2,3,4,5,6,7,8,9,…,391,392,393,…,100001,100002,… пылкает:10001, 27005, 60012, 112060 …
Поисковый сервер
Поисковый кластер
Реплики и Дата центры Чем больше машин, тем чаще одна из них ломается Потеря машины -> недоступность данных на ней Каждую машину надо дублировать размножить aka реплицировать   Репликация помогает бороться с нагрузкой Репликация между разными дата-центрами позволяет их терять
Откуда берется индекс Большой робот ~9B страниц 		В среднем переобходим раз в 2 недели 		Новая база выкладывается раз в 2-3 дня Быстрый/Realtime робот 		Существенно меньше страниц 		Для особо важных 5-7 минут 		Для остальных 1-2 часа
Робот
Робот – это сложно Сделать телефонный справочник очень просто Сделать робот сложнее Интернет бесконечный, но в среднем в нем мусор и очень большое дублирование Сайты быстро меняются и являются активной сущностью Многие сайты не хотят, чтобы их обходили Много сайтов целенаправленно пытаются обмануть робота
В жизни все сложнее… Нагрузка/ Кэширование / Несколько уровней поиска / Прюнинг / Параллельные поиски Сложный язык запросов / кворум / расстояния / ранжирование / морфология / регионализация Антиспам/ Выбор документов для обхода
? Анатолий Орлов

More Related Content

More from Rostislav Shorgin

Евгения Шкуратова - "Яндекс - это мы!"
Евгения Шкуратова - "Яндекс - это мы!"Евгения Шкуратова - "Яндекс - это мы!"
Евгения Шкуратова - "Яндекс - это мы!"Rostislav Shorgin
 
Константин Коломеец - "Выложи это в wiki"
Константин Коломеец - "Выложи это в wiki"Константин Коломеец - "Выложи это в wiki"
Константин Коломеец - "Выложи это в wiki"Rostislav Shorgin
 
Сергей Певцов - "Непременно нужно каждый день выпалывать баобабы..."
Сергей Певцов - "Непременно нужно каждый день выпалывать баобабы..."Сергей Певцов - "Непременно нужно каждый день выпалывать баобабы..."
Сергей Певцов - "Непременно нужно каждый день выпалывать баобабы..."Rostislav Shorgin
 
Татьяна Бахаревская - "Эксплуатация проектов"
Татьяна Бахаревская - "Эксплуатация проектов"Татьяна Бахаревская - "Эксплуатация проектов"
Татьяна Бахаревская - "Эксплуатация проектов"Rostislav Shorgin
 
Дмитрий Беляев - "Атака на клоны!"
Дмитрий Беляев - "Атака на клоны!"Дмитрий Беляев - "Атака на клоны!"
Дмитрий Беляев - "Атака на клоны!"Rostislav Shorgin
 
Виталий Титов - "Анализ запроса"
Виталий Титов - "Анализ запроса"Виталий Титов - "Анализ запроса"
Виталий Титов - "Анализ запроса"Rostislav Shorgin
 
Федор Романенко - "Ранжирование: от строчки кода до Матрикснета"
Федор Романенко - "Ранжирование: от строчки кода до Матрикснета"Федор Романенко - "Ранжирование: от строчки кода до Матрикснета"
Федор Романенко - "Ранжирование: от строчки кода до Матрикснета"Rostislav Shorgin
 
Илья Сегалович - "Поиск в жизни, Яндекс в поиске"
Илья Сегалович - "Поиск в жизни, Яндекс в поиске"Илья Сегалович - "Поиск в жизни, Яндекс в поиске"
Илья Сегалович - "Поиск в жизни, Яндекс в поиске"Rostislav Shorgin
 

More from Rostislav Shorgin (8)

Евгения Шкуратова - "Яндекс - это мы!"
Евгения Шкуратова - "Яндекс - это мы!"Евгения Шкуратова - "Яндекс - это мы!"
Евгения Шкуратова - "Яндекс - это мы!"
 
Константин Коломеец - "Выложи это в wiki"
Константин Коломеец - "Выложи это в wiki"Константин Коломеец - "Выложи это в wiki"
Константин Коломеец - "Выложи это в wiki"
 
Сергей Певцов - "Непременно нужно каждый день выпалывать баобабы..."
Сергей Певцов - "Непременно нужно каждый день выпалывать баобабы..."Сергей Певцов - "Непременно нужно каждый день выпалывать баобабы..."
Сергей Певцов - "Непременно нужно каждый день выпалывать баобабы..."
 
Татьяна Бахаревская - "Эксплуатация проектов"
Татьяна Бахаревская - "Эксплуатация проектов"Татьяна Бахаревская - "Эксплуатация проектов"
Татьяна Бахаревская - "Эксплуатация проектов"
 
Дмитрий Беляев - "Атака на клоны!"
Дмитрий Беляев - "Атака на клоны!"Дмитрий Беляев - "Атака на клоны!"
Дмитрий Беляев - "Атака на клоны!"
 
Виталий Титов - "Анализ запроса"
Виталий Титов - "Анализ запроса"Виталий Титов - "Анализ запроса"
Виталий Титов - "Анализ запроса"
 
Федор Романенко - "Ранжирование: от строчки кода до Матрикснета"
Федор Романенко - "Ранжирование: от строчки кода до Матрикснета"Федор Романенко - "Ранжирование: от строчки кода до Матрикснета"
Федор Романенко - "Ранжирование: от строчки кода до Матрикснета"
 
Илья Сегалович - "Поиск в жизни, Яндекс в поиске"
Илья Сегалович - "Поиск в жизни, Яндекс в поиске"Илья Сегалович - "Поиск в жизни, Яндекс в поиске"
Илья Сегалович - "Поиск в жизни, Яндекс в поиске"
 

Анатолий Орлов - "Как устроены поисковые системы"

  • 1. Как устроены поисковые системы Анатолий Орлов Руковожу разработкой поиска СтуДень, Москва, 1 апреля 2010
  • 2. Вопрос для разминки Почему поиск файла на моем компьютере занимает 10-20 секунд, а поиск по содержимому всех документов во всем интернете меньше секунды?
  • 3. Заранее подготовленные данные Примеры: Телефонный справочник Каталог библиотеки Предметный указатель в книге
  • 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 рабочих дня.
  • 5. Кошмар библиотекаря Я думаю вам стоит начать с северной части библиотеки. Вы не забыли взять спальный мешок и запас воды и пищи на неделю?
  • 6. Предметный указатель Б Бармаглот, 196, 198, 217 Брандашмыг , 15, 18, 317 В Варкаться, 2, 18, 39 З Зелюк, 3, 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
  • 7. Поисковый индекс Заранее подготовленные данные для поисковой машины Все слова, не только спец термины Все упоминания слов Номера предложений/слов Служебная информация
  • 8. Как мы ищем по индексу “Летит ужасный Бармаглот и пылкает огнем” и: 1,2,3,4,5,6,7,8,9,…,391,392,393,…,100001,100002,… пылкает:10001, 27005, 60012, 112060 …
  • 11. Реплики и Дата центры Чем больше машин, тем чаще одна из них ломается Потеря машины -> недоступность данных на ней Каждую машину надо дублировать размножить aka реплицировать Репликация помогает бороться с нагрузкой Репликация между разными дата-центрами позволяет их терять
  • 12.
  • 13. Откуда берется индекс Большой робот ~9B страниц В среднем переобходим раз в 2 недели Новая база выкладывается раз в 2-3 дня Быстрый/Realtime робот Существенно меньше страниц Для особо важных 5-7 минут Для остальных 1-2 часа
  • 15. Робот – это сложно Сделать телефонный справочник очень просто Сделать робот сложнее Интернет бесконечный, но в среднем в нем мусор и очень большое дублирование Сайты быстро меняются и являются активной сущностью Многие сайты не хотят, чтобы их обходили Много сайтов целенаправленно пытаются обмануть робота
  • 16. В жизни все сложнее… Нагрузка/ Кэширование / Несколько уровней поиска / Прюнинг / Параллельные поиски Сложный язык запросов / кворум / расстояния / ранжирование / морфология / регионализация Антиспам/ Выбор документов для обхода