SlideShare a Scribd company logo
Как устроены поисковые
системы*
Александр Садовский
Руководитель отдела веб-поиска
СтуДень, Новосибирск, 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, 15
15
Поисковый индекс
• Заранее подготовленные данные для
поисковой машины.
• Все слова, не только спец. термины.
• Все упоминания слов.
• Номера предложений/слов.
• Служебная информация.
Как мы ищем по индексу
«Летит ужасный Бармаглот и пылкает огнем»
и: 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 часа
Робот
Интернет
Паук Паук Паук
Быстрый робот
Большой робот
метапоиски
Балансировщик нагрузки
Базовые поиски
Быстрые поиски
Пользователь
Робот – это сложно
• Сделать телефонный справочник очень
просто.
• Сделать робот сложнее
– Интернет бесконечный, но в среднем в нем
мусор и очень большое дублирование.
– Сайты быстро меняются и являются
активной сущностью.
– Многие сайты не хотят, чтобы их обходили.
– Много сайтов целенаправленно пытаются
обмануть робота.
В жизни все сложнее…
• Нагрузка/ Кэширование / Несколько
уровней поиска / Прюнинг / Параллельные
поиски
• Сложный язык запросов / кворум /
расстояния / ранжирование / морфология /
регионализация
• Антиспам / Выбор документов для обхода
?
Анатолий Орлов

More Related Content

Viewers also liked

Ppp book announcement
Ppp book announcementPpp book announcement
Ppp book announcement
Axon.Partners
 
Анализ запроса
Анализ запросаАнализ запроса
Анализ запросаyaevents
 
Organize Events to Attract Members and Boost Attendance
Organize Events to Attract Members and  Boost AttendanceOrganize Events to Attract Members and  Boost Attendance
Organize Events to Attract Members and Boost Attendance
StarChapter
 
Etap overview rus
Etap overview rusEtap overview rus
Etap overview rusyaevents
 
20130528 millhouse b_dedition
20130528 millhouse b_dedition20130528 millhouse b_dedition
20130528 millhouse b_deditionAxon.Partners
 
Improving Memory-Based Collaborative Filtering by Neighbour Selection based o...
Improving Memory-Based Collaborative Filtering by Neighbour Selection based o...Improving Memory-Based Collaborative Filtering by Neighbour Selection based o...
Improving Memory-Based Collaborative Filtering by Neighbour Selection based o...
Alejandro Bellogin
 
How to Find Great Speakers for Your Next Assoicaiton Meeting
How to Find Great Speakers for Your Next Assoicaiton MeetingHow to Find Great Speakers for Your Next Assoicaiton Meeting
How to Find Great Speakers for Your Next Assoicaiton Meeting
StarChapter
 
20130905 say no2 criminal liability for copyright infringement
20130905 say no2 criminal liability for copyright infringement20130905 say no2 criminal liability for copyright infringement
20130905 say no2 criminal liability for copyright infringementAxon.Partners
 
Elements of a Successful Association Meeting
Elements of a Successful Association MeetingElements of a Successful Association Meeting
Elements of a Successful Association Meeting
StarChapter
 
Need Loans- Affordable And Reliable Cash Aid Only For You
Need Loans- Affordable And Reliable Cash Aid Only For YouNeed Loans- Affordable And Reliable Cash Aid Only For You
Need Loans- Affordable And Reliable Cash Aid Only For You
anderson1mark
 
Technology Traps for Associations to Avoid
Technology Traps for Associations to AvoidTechnology Traps for Associations to Avoid
Technology Traps for Associations to Avoid
StarChapter
 
Transportkvalitet
TransportkvalitetTransportkvalitet
Transportkvalitet
Per Olof Arnäs
 
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндексi-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
yaevents
 
Как превратить случайного посетителя в довольного покупателя
Как превратить случайного посетителя в довольного покупателяКак превратить случайного посетителя в довольного покупателя
Как превратить случайного посетителя в довольного покупателяyaevents
 

Viewers also liked (16)

Ppp book announcement
Ppp book announcementPpp book announcement
Ppp book announcement
 
Анализ запроса
Анализ запросаАнализ запроса
Анализ запроса
 
Organize Events to Attract Members and Boost Attendance
Organize Events to Attract Members and  Boost AttendanceOrganize Events to Attract Members and  Boost Attendance
Organize Events to Attract Members and Boost Attendance
 
Etap overview rus
Etap overview rusEtap overview rus
Etap overview rus
 
Agile
AgileAgile
Agile
 
20130528 millhouse b_dedition
20130528 millhouse b_dedition20130528 millhouse b_dedition
20130528 millhouse b_dedition
 
Improving Memory-Based Collaborative Filtering by Neighbour Selection based o...
Improving Memory-Based Collaborative Filtering by Neighbour Selection based o...Improving Memory-Based Collaborative Filtering by Neighbour Selection based o...
Improving Memory-Based Collaborative Filtering by Neighbour Selection based o...
 
How to Find Great Speakers for Your Next Assoicaiton Meeting
How to Find Great Speakers for Your Next Assoicaiton MeetingHow to Find Great Speakers for Your Next Assoicaiton Meeting
How to Find Great Speakers for Your Next Assoicaiton Meeting
 
20130905 say no2 criminal liability for copyright infringement
20130905 say no2 criminal liability for copyright infringement20130905 say no2 criminal liability for copyright infringement
20130905 say no2 criminal liability for copyright infringement
 
Elements of a Successful Association Meeting
Elements of a Successful Association MeetingElements of a Successful Association Meeting
Elements of a Successful Association Meeting
 
Need Loans- Affordable And Reliable Cash Aid Only For You
Need Loans- Affordable And Reliable Cash Aid Only For YouNeed Loans- Affordable And Reliable Cash Aid Only For You
Need Loans- Affordable And Reliable Cash Aid Only For You
 
Technology Traps for Associations to Avoid
Technology Traps for Associations to AvoidTechnology Traps for Associations to Avoid
Technology Traps for Associations to Avoid
 
Transportkvalitet
TransportkvalitetTransportkvalitet
Transportkvalitet
 
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндексi-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
 
Agile
AgileAgile
Agile
 
Как превратить случайного посетителя в довольного покупателя
Как превратить случайного посетителя в довольного покупателяКак превратить случайного посетителя в довольного покупателя
Как превратить случайного посетителя в довольного покупателя
 

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

Конкурентная Разведка в Интернете
Конкурентная Разведка в ИнтернетеКонкурентная Разведка в Интернете
Конкурентная Разведка в ИнтернетеPositive Hack Days
 
Kak ustroena poiskovaya sistema
Kak ustroena poiskovaya sistemaKak ustroena poiskovaya sistema
Kak ustroena poiskovaya sistema
Аннэт Казакова
 
Евгений Власов — CallTouch — ICBDA 2015
Евгений Власов — CallTouch — ICBDA 2015Евгений Власов — CallTouch — ICBDA 2015
Евгений Власов — CallTouch — ICBDA 2015
rusbase
 
Пётр Зайцев, Percona
Пётр Зайцев, PerconaПётр Зайцев, Percona
Пётр Зайцев, Percona
Ontico
 
О общих подходах к отображению данных на сайте
О общих подходах к отображению данных на сайтеО общих подходах к отображению данных на сайте
О общих подходах к отображению данных на сайте
Anton Kovalenko
 
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Ontico
 
Cистема внутренней статистики Odnoklassniki.ru
Cистема внутренней статистики Odnoklassniki.ruCистема внутренней статистики Odnoklassniki.ru
Cистема внутренней статистики Odnoklassniki.ru
odnoklassniki.ru
 
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
Ontico
 
Технология "Спектр" Яндекса и классификация веб-страниц
Технология "Спектр" Яндекса и классификация веб-страницТехнология "Спектр" Яндекса и классификация веб-страниц
Технология "Спектр" Яндекса и классификация веб-страниц
Александр Алаев
 
Архитектура поиска в Booking.com
Архитектура поиска в Booking.comАрхитектура поиска в Booking.com
Архитектура поиска в Booking.com
Ivan Kruglov
 
Машинное обучение в электронной коммерции - практика использования и подводны...
Машинное обучение в электронной коммерции - практика использования и подводны...Машинное обучение в электронной коммерции - практика использования и подводны...
Машинное обучение в электронной коммерции - практика использования и подводны...
Ontico
 
Белоус Екатерина
Белоус ЕкатеринаБелоус Екатерина
Белоус Екатерина
АКМР Corpmedia.ru
 
Реактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/musicРеактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/music
Vadim Tsesko
 
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяцМихаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
Tanya Denisyuk
 
Нагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаНагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаAleksandr Boichenko
 
Где сегодня использовать ElasticSearch
Где сегодня использовать ElasticSearchГде сегодня использовать ElasticSearch
Где сегодня использовать ElasticSearch
Илья Середа
 
1 search
1 search1 search
1 search
Yandex
 
Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.Andrew Mayorov
 
Поисковая аналитика DDS-2 (2016)
Поисковая аналитика DDS-2 (2016)Поисковая аналитика DDS-2 (2016)
Поисковая аналитика DDS-2 (2016)
Стас Поломарь
 

Similar to Как устроены поисковые системы (20)

Как устроены поисковые системы
Как устроены поисковые системыКак устроены поисковые системы
Как устроены поисковые системы
 
Конкурентная Разведка в Интернете
Конкурентная Разведка в ИнтернетеКонкурентная Разведка в Интернете
Конкурентная Разведка в Интернете
 
Kak ustroena poiskovaya sistema
Kak ustroena poiskovaya sistemaKak ustroena poiskovaya sistema
Kak ustroena poiskovaya sistema
 
Евгений Власов — CallTouch — ICBDA 2015
Евгений Власов — CallTouch — ICBDA 2015Евгений Власов — CallTouch — ICBDA 2015
Евгений Власов — CallTouch — ICBDA 2015
 
Пётр Зайцев, Percona
Пётр Зайцев, PerconaПётр Зайцев, Percona
Пётр Зайцев, Percona
 
О общих подходах к отображению данных на сайте
О общих подходах к отображению данных на сайтеО общих подходах к отображению данных на сайте
О общих подходах к отображению данных на сайте
 
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
Архитектура поиска в Booking.com / Иван Круглов (Booking.com)
 
Cистема внутренней статистики Odnoklassniki.ru
Cистема внутренней статистики Odnoklassniki.ruCистема внутренней статистики Odnoklassniki.ru
Cистема внутренней статистики Odnoklassniki.ru
 
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
 
Технология "Спектр" Яндекса и классификация веб-страниц
Технология "Спектр" Яндекса и классификация веб-страницТехнология "Спектр" Яндекса и классификация веб-страниц
Технология "Спектр" Яндекса и классификация веб-страниц
 
Архитектура поиска в Booking.com
Архитектура поиска в Booking.comАрхитектура поиска в Booking.com
Архитектура поиска в Booking.com
 
Машинное обучение в электронной коммерции - практика использования и подводны...
Машинное обучение в электронной коммерции - практика использования и подводны...Машинное обучение в электронной коммерции - практика использования и подводны...
Машинное обучение в электронной коммерции - практика использования и подводны...
 
Белоус Екатерина
Белоус ЕкатеринаБелоус Екатерина
Белоус Екатерина
 
Реактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/musicРеактивный раздатчик ok.ru/music
Реактивный раздатчик ok.ru/music
 
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяцМихаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
 
Нагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаНагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.Танка
 
Где сегодня использовать ElasticSearch
Где сегодня использовать ElasticSearchГде сегодня использовать ElasticSearch
Где сегодня использовать ElasticSearch
 
1 search
1 search1 search
1 search
 
Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.Синяя Борода. История одного проекта.
Синяя Борода. История одного проекта.
 
Поисковая аналитика DDS-2 (2016)
Поисковая аналитика DDS-2 (2016)Поисковая аналитика DDS-2 (2016)
Поисковая аналитика DDS-2 (2016)
 

More from yaevents

Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
yaevents
 
Тема для WordPress в БЭМ. Владимир Гриненко, Яндекс
Тема для WordPress в БЭМ. Владимир Гриненко, ЯндексТема для WordPress в БЭМ. Владимир Гриненко, Яндекс
Тема для WordPress в БЭМ. Владимир Гриненко, Яндексyaevents
 
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
yaevents
 
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
yaevents
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
yaevents
 
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
yaevents
 
Мониторинг со всех сторон. Алексей Симаков, Яндекс
Мониторинг со всех сторон. Алексей Симаков, ЯндексМониторинг со всех сторон. Алексей Симаков, Яндекс
Мониторинг со всех сторон. Алексей Симаков, Яндексyaevents
 
Истории про разработку сайтов. Сергей Бережной, Яндекс
Истории про разработку сайтов. Сергей Бережной, ЯндексИстории про разработку сайтов. Сергей Бережной, Яндекс
Истории про разработку сайтов. Сергей Бережной, Яндекс
yaevents
 
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
yaevents
 
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
yaevents
 
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, ЯндексСканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
yaevents
 
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, FacebookМасштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
yaevents
 
Контроль зверей: инструменты для управления и мониторинга распределенных сист...
Контроль зверей: инструменты для управления и мониторинга распределенных сист...Контроль зверей: инструменты для управления и мониторинга распределенных сист...
Контроль зверей: инструменты для управления и мониторинга распределенных сист...
yaevents
 
Юнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, GoogleЮнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, Google
yaevents
 
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
yaevents
 
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
yaevents
 
В поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, НигмаВ поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, Нигма
yaevents
 
Using classifiers to compute similarities between face images. Prof. Lior Wol...
Using classifiers to compute similarities between face images. Prof. Lior Wol...Using classifiers to compute similarities between face images. Prof. Lior Wol...
Using classifiers to compute similarities between face images. Prof. Lior Wol...
yaevents
 
Поисковая технология "Спектр". Андрей Плахов, Яндекс
Поисковая технология "Спектр". Андрей Плахов, ЯндексПоисковая технология "Спектр". Андрей Плахов, Яндекс
Поисковая технология "Спектр". Андрей Плахов, Яндекс
yaevents
 
Julia Stoyanovich - Making interval-based clustering rank-aware
Julia Stoyanovich - Making interval-based clustering rank-awareJulia Stoyanovich - Making interval-based clustering rank-aware
Julia Stoyanovich - Making interval-based clustering rank-aware
yaevents
 

More from yaevents (20)

Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
 
Тема для WordPress в БЭМ. Владимир Гриненко, Яндекс
Тема для WordPress в БЭМ. Владимир Гриненко, ЯндексТема для WordPress в БЭМ. Владимир Гриненко, Яндекс
Тема для WordPress в БЭМ. Владимир Гриненко, Яндекс
 
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
 
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
 
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
 
Мониторинг со всех сторон. Алексей Симаков, Яндекс
Мониторинг со всех сторон. Алексей Симаков, ЯндексМониторинг со всех сторон. Алексей Симаков, Яндекс
Мониторинг со всех сторон. Алексей Симаков, Яндекс
 
Истории про разработку сайтов. Сергей Бережной, Яндекс
Истории про разработку сайтов. Сергей Бережной, ЯндексИстории про разработку сайтов. Сергей Бережной, Яндекс
Истории про разработку сайтов. Сергей Бережной, Яндекс
 
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
 
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
 
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, ЯндексСканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
 
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, FacebookМасштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
 
Контроль зверей: инструменты для управления и мониторинга распределенных сист...
Контроль зверей: инструменты для управления и мониторинга распределенных сист...Контроль зверей: инструменты для управления и мониторинга распределенных сист...
Контроль зверей: инструменты для управления и мониторинга распределенных сист...
 
Юнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, GoogleЮнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, Google
 
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
 
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
 
В поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, НигмаВ поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, Нигма
 
Using classifiers to compute similarities between face images. Prof. Lior Wol...
Using classifiers to compute similarities between face images. Prof. Lior Wol...Using classifiers to compute similarities between face images. Prof. Lior Wol...
Using classifiers to compute similarities between face images. Prof. Lior Wol...
 
Поисковая технология "Спектр". Андрей Плахов, Яндекс
Поисковая технология "Спектр". Андрей Плахов, ЯндексПоисковая технология "Спектр". Андрей Плахов, Яндекс
Поисковая технология "Спектр". Андрей Плахов, Яндекс
 
Julia Stoyanovich - Making interval-based clustering rank-aware
Julia Stoyanovich - Making interval-based clustering rank-awareJulia Stoyanovich - Making interval-based clustering rank-aware
Julia Stoyanovich - Making interval-based clustering rank-aware
 

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

  • 1. Как устроены поисковые системы* Александр Садовский Руководитель отдела веб-поиска СтуДень, Новосибирск, 24 сентября 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. В словах нужен порядок
  • 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
  • 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, 15 15
  • 9. Поисковый индекс • Заранее подготовленные данные для поисковой машины. • Все слова, не только спец. термины. • Все упоминания слов. • Номера предложений/слов. • Служебная информация.
  • 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
  • 13. Реплики и Дата центры • Чем больше машин, тем чаще одна из них ломается. • Потеря машины -> недоступность данных на ней. • Каждую машину надо дублировать размножить aka реплицировать. • Репликация помогает бороться с нагрузкой. • Репликация между разными дата-центрами позволяет их терять.
  • 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
  • 15. Откуда берется индекс • Большой робот ~9B страниц В среднем переобходим раз в 2 недели Новая база выкладывается раз в 2-3 дня • Быстрый/Realtime робот Существенно меньше страниц Для особо важных 5-7 минут Для остальных 1-2 часа
  • 16. Робот Интернет Паук Паук Паук Быстрый робот Большой робот метапоиски Балансировщик нагрузки Базовые поиски Быстрые поиски Пользователь
  • 17. Робот – это сложно • Сделать телефонный справочник очень просто. • Сделать робот сложнее – Интернет бесконечный, но в среднем в нем мусор и очень большое дублирование. – Сайты быстро меняются и являются активной сущностью. – Многие сайты не хотят, чтобы их обходили. – Много сайтов целенаправленно пытаются обмануть робота.
  • 18. В жизни все сложнее… • Нагрузка/ Кэширование / Несколько уровней поиска / Прюнинг / Параллельные поиски • Сложный язык запросов / кворум / расстояния / ранжирование / морфология / регионализация • Антиспам / Выбор документов для обхода