Не работает Яндекс поиск в Хроме, Опере, Яндексе

У каждого есть свои привычки, которые касаются абсолютно разных вещей. Например, кто-то любит открывать браузер и пользоваться поиском Google, а кто-то предпочитает Яндекс поисковик. Сегодня мы подробно рассмотрим вторую поисковую систему, а точнее ошибку, которая может с ней возникать.

Звучать она может по-разному: Не удается установить соединение с сайтом, или: Не удается получить доступ к сайту. Но проблема одна, и у всех просто не работает Яндекс поиск. Причин, из-за которых это происходит, может быть несколько.

  1. Поисковик заблокировал системный администратор. Относится к тем, кто пытается в него попасть на работе или в учебном заведении.
  2. Компьютер заражен вирусом.
  3. Сайт заблокирован вашим провайдером или запрещен для посещения в вашей стране.

Это самые частые причины и именно с ними мы разберемся. В Yandex браузере ошибка выглядит так.

Если у вас возникают проблемы с поисковиком в Опере, то страница будет следующая.

Те, у кого Яндекс поиск не работает в Хроме, увидят перед собой следующую страницу.

Конечно, вы можете воспользоваться другим поисковиком, например, google.com. Ну а если для вас важны привычки и ничего менять вы не хотите, то воспользуйтесь одним из методов, описанных в данной статье.

Смена своего IP

У каждого компьютера в Интернете есть свой IP. Поэтому, тем, у кого просто заблокирован доступ к сайту, будет достаточно его сменить, воспользовавшись специальными расширениями для веб-обозревателя, программами для компьютера или анонимайзерами. Еще очень удобно настроить прокси сервер на компьютере, и тогда вы сразу после запуска браузера будете посещать все сайты через другой IP.

Подробнее всю информацию можно прочесть в отдельных статьях:
Как настроить прокси сервер на Windows 10
Как поменять IP адрес компьютера в Интернете

Сейчас разберем быстрый способ смены IP – это использование самого браузера или установка для него специальных расширений.

В Opera

Если у вас не открывается страница Яндекс поиска в Opera, то решить эту проблему получится очень быстро. Устанавливать ничего не придется, можно просто воспользоваться функционалом самого веб-обозревателя.

Для этого нажмите на букву «О», слева вверху, и перейдите в «Настройки». На странице настроек найдите раздел «VPN» и включите данную функцию, перетянув ползунок вправо.

Открывайте нерабочую страничку поиска. Дальше слева от адресной строки нажмите на кнопку с буквами «VPN». Откроется выпадающее окно, в котором просто активируйте встроенный в браузер VPN. После этого соединение со всеми посещаемыми сайтами будет происходить через сторонний сервер, который находится не в вашей, а в какой-то другой стране.

Обновляйте страницу кнопкой F5 и все должно работать.

В Chrome

Всем тем, кто пользуется Хромом, придется поискать специальное расширение для смены IP, и установить его в браузер.

Сначала нажимайте на троеточие вверху справа и переходите «Дополнительные инструменты» –«Расширения». Для поиска и установки новых дополнений, нажмите на три горизонтальные полоски слева.

Из открывшегося списка выберите «Открыть Интернет-магазин Chrome».

Дальше нужно воспользоваться строкой поиска, чтобы найти то, что нужно именно вам. Воспользуйтесь такими фразами: «VPN», «прокси», «hola», «hotspot». Теперь ваша цель, найти подходящее для вас расширение.

Указать на определенное я не смогу. В некоторых нужно авторизоваться, в других ограничение по трафику, есть с автоматическим назначением страны, есть вообще с только одной страной, есть платные. Здесь выбирайте, что вам больше подходит.

Когда найдете нужное дополнение, воспользуйтесь кнопкой «Установить», которая будет расположена напротив его названия. После этого значок расширения появится справа от адресной строки.

Управляется расширение полностью через значок. Открывайте страницу Яндекс поиска и включайте его. Когда соединение с сервером будет установлено, вы сможете воспользоваться поисковиком.

Если на странице все еще высвечивается ошибка, ее просто нужно обновить, используя круговую стрелочку, которая расположена слева от строки адреса.

В Yandex Browser

Этот браузер хоть и новичок, но популярность смог завоевать достаточно быстро. Поскольку им и Яндекс поиском занимается одна компания, то данный поисковик открывается сразу после открытия новой вкладки (если не поменять настройки).

В Yandex Браузер вы тоже можете установить стороннее дополнение, а можно и воспользоваться тем, что он сам предлагает. В примере я поставила расширение Hola, но Яндекс поиск не работает, и это видно на скриншоте.

Чтобы поставить другое расширение, зайдите в меню – три полоски справа вверху. Дальше переходите в «Дополнения».

Пролистывайте страницу вниз и нажимайте на кнопку «Каталог расширений…». В открывшемся каталоге можно найти нужное, вводя в поиск те же слова, которые я указывала для Хром. Для примера, воспользовалась «Browsec VPN» – работает оно отлично.

Если хотите воспользоваться встроенным расширением, то называется оно «Yandex Access». Найдите его в разделе «Из других источников» и установите ползунок напротив в положение «Вкл.».

Если выбрали Yandex Access, то нужно просто обновить страницу Яндекс поиска с помощью стрелочки. Тем, кто скачал и установил другое расширение, сначала придется его включить, кликом по значку, который ему соответствует, а потом можно обновлять страницу.

Другие возможные проблемы

Описанные выше действия помогут, только если Яндекс поиск заблокировал ваш провайдер или он запрещен для посещения в стране, в которой вы находитесь. Самих же причин, по которым не работает поиск Яндекса, больше.

  1. Если вы посещали незнакомые страницы в Интернете, или скачивали фильмы, игры, устанавливали программы, а потом начались проблемы с поиском, то виной всему может стать вирус.

В данном случае, следует проверить компьютер сначала установленной антивирусной программой, а затем дополнительно еще какой-нибудь. Например, это может быть Dr.Web CureIt.

  1. В учебных заведениях или на работе доступ к определенным сайтам запрещается, путем прописывания соответствующего адреса в файле hosts. Открыть вы его сможете, только выполнив вход в учетную запись администратора. Если вы в нее зашли и теперь обладаете максимальными правами, сделайте следующее.

Кликайте по ярлыку «Мой компьютер» и переходите по пути: C:\Windows\System32\drivers\etc. В папке «etc» найдите файл с названием «hosts» и откройте его с помощью блокнота.

Затем обратите внимание на все записи, указанные в конце. Это все те сайты, доступ к которым запрещен. Вам нужно будет просто удалить эти строчки и сохранить изменения в файле.

Более подробно по работе с hosts описано в статье: файл hosts в Windows 7/8/8.1/10: изменить, восстановить, редактировать

Кстати, если у вас домашний ПК и подозреваете наличие вируса, то стоит так же обратить внимание на hosts. Вирус мог сам прописать там некоторые адреса. Поэтому сначала вылечите ПК, а потом измените содержимое файла.

  1. Сохраненный кэш браузера так же может стать причиной появления ошибки. Чтобы его очистить нужно зайти в настройки вашего веб-обозревателя и выбрать нужный пункт.

Покажу, как очистить кэш браузера на примере Yandex Browser. Находите кнопку меню – три горизонтальные полоски, жмите на нее и из списка выбирайте «Настройки».

Дальше пролистывайте страницу в самый низ и жмите по кнопке «Очистить историю».

Затем в окошке отмечайте птичками пункты «Файлы, сохраненные в кэше» и «Файлы cookie и другие данные сайтов и модулей». Выставьте вверху «За всё время» и нажимайте «Очистить».

Теперь вы знаете, что делать, если не работает поиск Яндекс, и почему это происходит. Начните с тех вариантов, которые кажутся вам наиболее уместными в вашей ситуации, и проблема должна решиться.


Оценить статью: Загрузка… Поделиться новостью в соцсетях

 

Об авторе: Аня Каминская

Яндекс ищет не плохо. Яндекс ищет — отвратительно.

Поспорьте, пожалуйста, с тем, что:
— Яндекс ищет не плохо. Яндекс ищет — отвратительно.

Но проблема даже не в том, что яндекс ищет отвратительно.

Проблема в том, что:

1. Он не признаёт это, и не хочет ничего улучшать.

2. Поиск постепенно ухудшается.

Вообще, в яндексе ухудшается не только поиск, ухудшается всё, что вообще хоть как-то работало.

Был сервис видео — закрыли.
У меня пропали старые, дорогие мне как память ролики.

Годами мы пользовались сервисом яндекс-фотки — и его собираются закрывать с апреля.
Это уже вообще ни в какие ворота не лезет. Но о яндекс-фотках — отдельный разговор.

А сейчас я хочу просто показать на конкретном примере, что яндекс не умеет делать то, ради чего он вообще создавался — яндекс не умеет искать.

Мало того, что поиск становится всё хуже.
Уже в списке выдачи поиска на первом месте стали появляться аж 5 (пять!) строчек проплаченной и ангажированной рекламы.

Вы вдумайтесь только:
— Вся первая страница выдачи уже занята мусорной рекламой!

Ребята из яндекса, расслабьтесь, я не хочу смотреть вашу рекламу и не буду её смотреть НИКОГДА. Разве что по работе или по ошибке.

До чего мы дошли: вы вводите запрос, а в результатах на первых 5 местах вам дают не результаты поиска, а то, что вам хочет скормить яндекс.

Я никогда в результатах выдачи по поиску не заходил в первые строчки выдачи, помеченные признаком «реклама».
К чему и вас всех призываю.

Если что-то ищешь, то надеешься получить результат более-менее объективного поиска. А на первом месте стоят строчки тех, кто просто больше проплатил денег яндексу.
Поэтому совершенно противоестественно заходить в строчки помеченные бледненьким таким (в последнее время) и очень скромным признаком «реклама». Раньше хоть желтеньким цветом выделяли «реклама», а сейчас, смотрю, просто обычным цветом даже чуть меньшим шрифтом, стараясь остаться незамеченными пишут «реклама».

Стесняются, наверное, не выпячивают «рекламу»:)
И люди туда нажимают. А делать этого не стоит.

Теперь возьмём простейшую задачу и попробуем её решить поиском яндекса.

Например, возьмём очень распространённую задачу — найти себе новый смартфон, причем найти выбранную модель по самой дешевой цене.

Предположим, что мне нужен смартфон с самой хорошей камерой. Предположим, что я выбрал смартфон HTC u11 plus.
Осталось найти эту модель по самой дешевой цене.

Поехали.

Вводим запрос «купить смартфон htc u11 plus 6″ 128 gb»

Первые 4 строки в выдаче — реклама. Мы туда — ни ногой.
5-ая строка — хвалёный яндекс-маркет. Мы туда потом зайдем, чтобы убедиться,

Компания Яндекс — Принципы — Принципы ранжирования поиска Яндекса

Интернет состоит из миллионов сайтов и содержит экзабайты информации. Чтобы люди могли узнать о существовании этой информации и воспользоваться ей, существуют поисковые системы. Они реализуют право человека на доступ к информации — любой информации, которая нужна в данный момент. Поисковая система — это техническое средство, с помощью которого пользователь интернета может найти данные, уже размещенные в сети.

Пользователи ищут в интернете самые разные вещи — от научных работ до эротического контента. Мы считаем, что поисковая система в каждом случае должна показывать подходящие страницы — от статей по определенной теме до сайтов для взрослых. При этом она просто находит ту информацию, которая уже есть в интернете и открыта для всех.

Яндекс не является цензором и не отвечает за содержание других сайтов, которые попадают в поисковый индекс. Об этом было написано в одном из первых документов компании «Лицензия на использование поисковой системы Яндекса», созданном еще в 1997 году, в момент старта www.yandex.ru: «Яндекс индексирует сайты, созданные независимыми людьми и организациями. Мы не отвечаем за качество и содержание страниц, которые вы можете найти при помощи нашей поисковой машины. Нам тоже многое не нравится, однако Яндекс — зеркало Рунета, а не цензор».Информация, которая удаляется из интернета, удаляется и из поискового индекса. Поисковые роботы регулярно обходят уже проиндексированные сайты. Когда они обнаруживают, что какая-то страница больше не существует или закрыта для индексирования, она удаляется и из поиска. Для ускорения этого процесса можно воспользоваться формой «Удалить URL».

В ответ на запрос, который пользователь ввел в поисковой строке, поисковая система показывает ссылки на известные ей страницы, в тексте которых (а также в метатегах или в ссылках на эти сайты) содержатся слова из запроса. В большинстве случаев таких страниц очень много — настолько, что пользователь не сможет просмотреть их все. Поэтому важно не просто найти их, но и упорядочить таким образом, чтобы сверху оказались те, которые лучше всего подходят для ответа на заданный запрос — то есть, наиболее релевантные запросу. Релевантность — это наилучшее соответствие интересам пользователей, ищущих информацию. Релевантность найденных страниц заданному запросу Яндекс определяет полностью автоматически — с помощью сложных формул, учитывающих тысячи свойств запроса и документа. Процесс упорядочивания найденных результатов по их релевантности называется ранжированием. Именно от ранжирования зависит качество поиска — то, насколько поисковая система умеет показать пользователю нужный и ожидаемый результат. Формулы ранжирования строятся также автоматически — с помощью машинного обучения — и постоянно совершенствуются.

Качество поиска — это самый важный аспект для любой поисковой системы. Если она будет плохо искать, люди просто перестанут ей пользоваться.

Поэтому мы не продаем места в результатах поиска.

Поэтому на результаты поиска никак не влияют политические, религиозные и любые другие взгляды сотрудников компании.

Пользователи просматривают страницу результатов поиска сверху вниз. Поэтому Яндекс показывает сверху, среди первых результатов, те документы, которые содержат наиболее подходящие пользователю ответы — то есть наиболее релевантные заданному запросу. Из всех возможных релевантных документов Яндекс всегда старается выбрать наилучший вариант.

С этим принципом связано несколько правил, которые Яндекс применяет к некоторым типам сайтов. Все эти правила работают полностью автоматически, их выполняют алгоритмы, а не люди.

1. Существуют страницы, которые явно ухудшают качество поиска. Они специально созданы с целью обмануть поисковую систему. Для этого, например, на странице размещают невидимый или бессмысленный текст. Или создают дорвеи — промежуточные страницы, которые перенаправляют посетителей на сторонние сайты. Некоторые сайты умеют замещать страницу, с которой перешел пользователь, на какую-нибудь другую. То есть когда пользователь переходит на такой сайт по ссылке из результатов поиска, а потом хочет снова вернуться к ним и посмотреть другие результаты, он видит какой-то другой ресурс.

Такие ресурсы не представляют интереса для пользователей и вводят их в заблуждение — и, соответственно, ухудшают качество поиска. Яндекс автоматически исключает их из поиска или понижает в ранжировании.

2. Бывает, что в том или ином документе есть полезная информация, но воспринимать ее сложно. Например, есть сайты, которые содержат popunder-баннеры (они перемещаются по экрану вслед за прокруткой страницы и закрывают ее содержание, а при попытке закрытия такого баннера открывается новое окно) и clickunder-рекламу (она неожиданно для пользователя открывает рекламную страницу при любом клике по сайту, в том числе — по ссылкам). С нашей точки зрения, оба этих вида рекламы мешают навигации по сайту и нормальному восприятию информации. Поэтому сайты с такой рекламой располагаются в поисковой выдаче ниже, чем сайты, на которых пользователь может найти ответ на свой вопрос без лишних проблем.

3. По запросам, которые не подразумевают явно потребность в эротическом контенте, Яндекс ранжирует сайты для взрослых ниже или вообще не показывает их в результатах поиска. Дело в том, что ресурсы с эротическим контентом часто используют достаточно агрессивные методы продвижения — в частности, они могут появляться в результатах поиска по самым разнообразным запросам. С точки зрения пользователя, который не искал эротики и порнографии, «взрослые» результаты поиска нерелевантны, и, к тому же, могут шокировать. Более подробно об этом принципе можно почитать здесь.

4. Яндекс проверяет индексируемые веб-страницы на наличие вирусов. Если обнаружилось, что сайт заражен, в результатах поиска рядом с ним появляется предупреждающая пометка. При этом зараженные сайты не исключаются из поиска и не понижаются в результатах поиска — может быть, на таком ресурсе находится нужный пользователю ответ, и он все равно захочет туда перейти. Однако Яндекс считает важным предупредить его о возможном риске.

Основная метрика качества поиска Яндекса — это то, насколько пользователю пригодились найденные результаты. Иногда по запросам пользователей невозможно определить, какой ответ ему подойдет. Например, человек, задавший запрос [пушкин], возможно, ищет информацию о поэте, а возможно — о городе. Точно так же человек, который набрал запрос [iphone 4], может быть, хочет почитать отзывы и ищет форумы, а может быть, хочет купить и ищет магазины. Среди первых результатов поиска должны найтись ответы для всех случаев. Поэтому Яндекс старается сделать страницу результатов поиска разнообразной. Поиск Яндекса умеет определять многозначные запросы и показывает разнообразные ответы. Для этого используется технология «Спектр».

О некорректном отображении страницы результатов поиска — Блог Яндекса

На прошлой неделе мы начали получать от пользователей жалобы на некорректное отображение страницы результатов поиска Яндекса. У некоторых пользователей она выглядела так, будто в Яндексе что-то сломалось:

Как видно на скриншоте, блок контекстной рекламы отображался некорректно. Когда мы начали разбираться, в чём дело, выяснилось, что проблема возникает у пользователей, установивших расширение для браузера AdBlock Plus, которое блокирует рекламу на сайтах. Очередное обновление этого расширения привело к тому, что блок контекстной рекламы Яндекса остался на своём месте, но выглядел так, будто в него попала бомба.

Мы понимаем желание авторов AdBlock Plus избавить пользователей от рекламы, равно как и желание пользователей избавиться от неё с помощью AdBlock Plus. Однако мы против такого бессмысленного искажения вёрстки наших сервисов.

Ладно, если бы дело ограничивалось только неловкими попытками AdBlock Plus «бороться» с контекстной рекламой Яндекса. Но мы обнаружили, что это расширение портит и другие наши продукты, в том числе те, которые не содержат никаких рекламных материалов. Например, AdBlock Plus зачем-то удаляет ссылки в некоторых наших колдунщиках на странице результатов поиска:

 

Получается, изначальная цель расширения AdBlock Plus — защищать пользователей от навязчивой рекламы — не только не достигается, но после последнего обновления расширение начало вмешиваться в работу наших сервисов, не являющихся рекламными. Такое поведение вредит нашим пользователям, а также создаёт у них ложное представление о качестве сервисов Яндекса. Кроме того, это попросту неэтично.

Чтобы исправить ситуацию после обновления AdBlock Plus, мы уже готовим изменение вёрстки поисковой выдачи. Тем не менее, это не первый случай, когда AdBlock Plus искажает работу сервисов Яндекса, и мы не можем гарантировать, что у всех пользователей, установивших AdBlock Plus, наши сервисы будут работать корректно после очередного неожиданного обновления этого расширения. Мы будем бороться с подобным вмешательством всеми способами, чтобы оно не отражалось на наших пользователях.

Если вы не хотите отказываться от AdBlock Plus, но при этом хотите полноценно использовать сервисы Яндекса, вы можете внести Яндекс в белый список доменов AdBlock Plus в вашем браузере. Как это сделать, читайте здесь.


Исправлено 5 марта в 19:20. Изначально в публикации говорилось о расширении AdBlock, однако описанные проблемы чаще могут возникать при использовании расширения AdBlock Plus, а не AdBlock. Неточность была исправлена, приносим свои извинения.

Почему Яндекс браузер не открывает страницы а интернет работает

При пользовании интернетом встречаются некоторые ошибки, которые способны предотвратить вход в интернет при помощи браузера, хотя сам интернет работает беспрекословно. Чтобы избежать этого заранее рекомендуется установить антивирус, который изрядно защитит Ваш компьютер и данные, хранящиеся на нем. Ведь никому не хочется терять что-то личное, тем более что сейчас по сети гуляет множество вирусов, способных вывести из строя Ваш ПК за считанные минуты. Но все же, ПК включен, вы открываете браузер, и тут вопрос, почему яндекс браузер не открывает страницы а интернет работает? Для начала под такую угрозу попадают такие известные сайты как, Одноклассники и Вконтакте. Однако вместе с этим могут и блокироваться поисковики, и любые другие сайты.

Блокировка сайтов в файле hosts

Первое, и самое распространенное явление, почему яндекс браузер не работает, это вирус заблокировал сайт, и вписал это в систему. Для разблокировки нужно пройти в папку с установленной WINDOWS далее выбрать system32, после проследовать в drivers –папка etc, и найти файл hosts и открыть при помощи блокнота. Там вы увидите список сайтов вместе с IP-адресом. Так вот, все эти сайты нужно удалить из списка и сохранить в таком виде документ.

Далее прилагаю скриншоты с пошаговыми действиями, для тех кто не совсем понял, как правильно сделать вышеуказанное.

Заходим в папку «Мой компьютер»

Теперь в диск «C» или другой диск где находится папка «Windows»

Заходим в папку Windows

Здесь находим папку «System32» и заходим в нее.

Здесь мы ищем папку «Drivers» и опять заходим.

В папке «Drivers» находит последнюю нужную нам папку с названием «etc» и также заходим в нее.

Теперь вам нужно будет найти файл с названием «hosts» и открыть его с помощью блокнота.

Также можно сразу запустить приложение блокнот, по адресу «Пуск»->»Стандартные»->»Блокнот», но предварительно нажать правой клавишей и выбрать пункт «Запуск от имени Администратора«.

Нажимаем «Пуск» или значек «Windows». Выбираем «Стандартные», затем жмем правой кнопкой на «Блокнот» и нажимаем на ««Запуск от имени Администратора«


Затем открыть файл «hosts» по уже указанной выше директории и следовать дальнейшим действиям. Они указаны ниже.

Теперь остался самый последний этап, почистить файл hosts от лишнего. Удаляем весь список сайтов которые у вас будут, как указано на картинке и после этого сохраняем файл.

После действий которые мы проделали, обычно решаются 80% всех проблем.

Вирусы блокируют Яндекс Браузер

Второе, это проверить антивирусом всю систему. Если антивируса нет, то скачать его можно с другого компьютера. Вирус попросту может заблокировать доступ именно к страницам, в то время как Skype и другие менеджеры будут работать в обычном режиме.

Сайты блокируются антивирусом

Третье, это посмотреть настройки антивируса, возможно, он сам блокирует доступ к сайтам.

Для проверки TCP/IP нужно запустить командную строку посредством команды Пуск, после чего выбираем – Выполнить, и вписать CMD и нажать Enter. Набираем route-f и нажимаем далее. Далее вводим команду netsh winsock reset и снова Enter. Перезагружаем компьютер и пробуем пользоваться.

Вывод

Теперь вы знаете, почему яндекс браузер не открывает страницы, а интернет работает. Хочется отметить, что дело может быть и в самом браузере, сбились настройки, или вирус атаковал в корни программу. Для этого можно попробовать воспользоваться другими обозревателями, и убедиться в работоспособности подключения. Если все улажено, то лучше переустановить Яндекс Браузер со сбросом всех параметров системы обозревателя.

4.02/5 (42)
Понравилась статья?

Просмотров: 37 314

comments powered by HyperComments

Поиск Яндекса с инженерной точки зрения. Лекция в Яндексе / Яндекс corporate blog / Habr

Сегодня мы публикуем ещё один из докладов, прозвучавших на летней встрече об устройстве поиска Яндекса. Выступление руководителя отдела ранжирования Петра Попова получилось в тот день самым доступным для широкой аудитории: минимум формул, максимум общих понятий о поиске. Но интересно было всем, потому что Пётр несколько раз переходил к деталям и в итоге рассказал много такого, о чём Яндекс никогда раньше публично не заявлял.

Кстати, одновременно с публикацией этой расшифровки начинается вторая встреча из серии, посвящённой технологиям Яндекса. Сегодняшнее мероприятие — уже не про поиск, а про инфраструктуру. Вот ссылка на трансляцию.


Ну а под катом — лекция Петра Попова и часть слайдов.

Меня зовут Пётр Попов, я работаю в Яндексе. Здесь я уже примерно семь лет. До этого программировал компьютерные игры, занимался 3D-графикой, знал про видеокарточки, писал на SSE-ассемблере, в общем, такими вещами занимался.

Надо сказать, что, устраиваясь на работу в Яндекс, я достаточно мало знал о предметной области — о том, что здесь люди делают. Знал только, что здесь работают хорошие люди. Поэтому испытывал некоторые сомнения.

Сейчас я расскажу достаточно полно, но не очень глубоко о том, как выглядит наш поиск. Что такое Яндекс? Это поисковик. Мы должны получить запрос пользователя и сформировать десятку результатов. Почему именно десятку? Пользователи чрезвычайно редко переходят на более далёкие страницы. Можно считать, что десять документов — это всё, что мы показываем.

Не знаю, есть ли в зале люди, которые занимаются рекламой Яндекса, потому что они считают, что основной продукт Яндекса — это совсем другое. Как обычно, здесь две точки зрения и обе правильные.

Мы считаем, что основное — это счастье пользователя. И, как ни удивительно, от состава десятки и того, как десятка отранжирована, это счастье зависит. Если мы ухудшаем выдачу, пользователи пользуются Яндексом меньше, уходят в другие поисковики, плохо себя чувствуют.

Какую конструкцию мы соорудили ради решения этой простой задачи — показать десять документов? Конструкция достаточно мощная, снизу, видимо, разработчики на неё взирают.

Наша модель работы. Нам нужно сделать всего несколько вещей. Нам нужно обойти интернет, проиндексировать получившиеся документы. Документом мы называем скачанную веб-страницу. Проиндексировать, сложить в поисковый индекс, запустить над этим индексом поисковую программу, ну и ответить пользователю. В общем-то, всё, профит.

Пройдемся по шагам этого конвейера. Что такое интернет и какого он объема? Интернет, считай, бесконечный. Возьмем любой сайт, который продает что-нибудь, какой-нибудь интернет-магазин, сменим там параметры сортировки — появится другая страничка. То есть можно задавать СGI-параметры страницы, и содержание будет совсем другое.

Сколько мы знаем принципиально значащих страниц с точностью до отбрасывания незначащих CGI-параметров? Сейчас — порядка нескольких триллионов. Скачиваем мы странички со скоростью порядка нескольких миллиардов страничек в день. И казалось бы, что нашу работу мы могли бы выполнить за конечное время, там, за два года.

Как мы вообще находим новые странички в интернете? Мы обошли какую-то страничку, вытянули оттуда ссылки. Они — наши потенциальные жертвы для скачивания. Возможно, за два года мы обойдем эти триллионы URL, но появятся новые, и в процессе парсинга документов появятся ссылки на новые странички. Уже тут видно, что наша основная задача — бороться с бесконечностью интернета, имея на руках конечные инженерные ресурсы в виде дата-центров.

Мы скачали все безумные триллионы документов, проиндексировали. Дальше нужно положить их в поисковый индекс. В индекс мы кладем не всё, а только лучшее из того, что скачали.

Есть товарищ Ашманов, широко известный в узких кругах специалист по поисковым системам в интернете. Он строит разные графики качества поисковых систем. Это график полноты поисковой базы. Как он строится? Задается запрос из редкого слова, смотрится, какие документы есть во всех поисковиках, это 100%. Каждый поисковик знает про какую-то долю. Сверху красным цветом мы, снизу черным цветом — наш основной конкурент.

Тут можно задаться вопросом: как мы такого достигли? Возможны несколько вариантов ответа. Вариант первый: мы пропарсили страничку с этими тестами, выдрали оттуда все URL, все запросы, которые задает товарищ Ашманов и проиндексировали странички. Нет, мы так не делали. Второй вариант: для нас Россия является основным рынком, а для конкурентов она — что-то маргинальное, где-то на периферии зрения. Этот ответ имеет право на жизнь, но он мне тоже не нравится.

Ответ, который мне нравится, заключается в том, что мы проделали большую инженерную работу, сделали проект, который называется «большая база», под это закупили много железа и сейчас наблюдаем этот результат. Конкурента тоже можно бить, он не железный.

Документы мы скачали. Как мы строим поисковую базу? Вот схема нашей контент-системы. Есть интернет, облачко документов. Есть машины, которые его обходят — спайдеры, пауки. Документ мы скачали. Для начала — положили его в сохраненную копию. Это, фактически, отдельная междатацентровая хеш-таблица, куда можно читать и писать на случай, если мы потом захотим этот документ проиндексировать или показать пользователю как сохраненную копию на выдаче.

Дальше мы документ проиндексировали, определили язык и вытащили оттуда слова, приведенные согласно морфологии языка к основным формам. Ещё мы вытащили оттуда ссылки, ведущие на другие страницы.

Есть еще один источник данных, который мы широко используем при построении индекса и вообще в ранжировании — логи Яндекса. Задал пользователь запрос, получил десятку результатов и как-то там себя ведёт. Ему показались документы, он кликает или не кликает.

Разумно предположить, что если документ показался в выдаче, или, тем более, если пользователь по нему кликнул, провел какое-то взаимодействие, то такой документ нужно оставить в поисковой базе. Кроме того, логично предположить, что ссылки с такого хорошего документа ведут на документы, которые тоже хороши и которые неплохо бы приоритетно скачать. Здесь изображено планирование обхода. Стрелочка от планирования обхода должна вести в обход.

Дальше есть стадия построения поискового индекса. Эти округлые прямоугольнички лежат в MapReduce, нашей собственной реализации MapReduce, которая называется YT, Yandex Table. Тут я немножко лакирую — на самом деле построение базы и шардирование оперируют с индексами как с файлами. Мы это немножко зафиксим. Эти округлые прямоугольнички будут лежать в MapReduce. Суммарный объем данных здесь — порядка 50 ПБ. Тут они превращаются в поисковые индексы, в файлики.

В этой схеме есть проблемы. Основная связана с тем, что MapReduce — сугубо батчевая операция. Чтобы определить приоритетные документы для обхода, например, мы берем весь линковый граф, мёржим его со всем пользовательским поведением и формируем очередь для скачки. Это процесс достаточно латентный, занимающий какое-то время. Ровно так же с построением индекса. Там есть стадии обработки — они батчевые для всей базы. И выкладка так же устроена, мы или дельту выкладываем, или всё.

Важная задача при этих объемах — ускорить процедуру доставки индекса. Надо сказать, что эта задача для нас сложная. Речь идёт о борьбе с батчевым характером построения базы. У нас есть специальный быстрый контур, который качает всякие новости в real time, доносит до пользователя. Это наше направление работы, то, чем мы занимаемся.

А вот вторая сторона медали. Первая — контент-система, вторая — поиск. Можно понять, почему я рисовал пирамидку — потому что поиск Яндекса действительно похож на пирамиду, такую иерархическую структуру. Сверху стоят балансеры, фронты, которые генерируют выдачу. Чуть пониже — агрегирующие метапоиски, которые агрегируют выдачу с разных вертикалей. Надо сказать, что на выдаче вы наверняка видели веб-документы, видео и картинки. У нас три разных индекса, они опрашиваются независимо.

Каждый ваш поисковый запрос уходит по этой иерархии вниз и спускается до каждого кусочка поисковой базы. Мы весь индекс, который построили, разбили на тысячи кусков. Условно, — на две-три-пять тысяч. Над каждым куском подняли поиск, и этот запрос всюду спустился.

Тут же видно, что поиск Яндекса — большая штука. Почему она большая? Потому что мы в своей памяти храним, как вы видели на предыдущих слайдах, достаточно репрезентативный и мощный кусок интернета. Храним не один раз: в каждом дата-центре от двух до четырёх копий индекса. Запрос наш спускается до каждого поиска, фактически проходится по каждому индексу. Сейчас используемые структуры данных — такие, что мы вынуждены всё это хранить напрямую в оперативке.

Что нужно делать? Вместо дорогой оперативки использовать дешевый SSD, ускорить поиск, допустим, в два раза, и получить профит — десятки или сотни миллионов долларов капитальных расходов. Но тут не нужно говорить: кризис, Яндекс экономит и всё такое. На самом деле всё, что мы сэкономим, мы пустим в полезное дело. Мы увеличим индекс в два раза. Мы будем по нему качественнее искать. И это то, ради чего осуществляется такого рода сложная инженерка. Это реальный проект, правда, достаточно тяжелый и вялотекущий, но мы действительно так делаем, хотим поиск наш улучшить.

Поисковый кластер не только достаточно большой — он ещё и очень сложный. Там реально крутятся миллионы инстансов разных программ. Я вначале написал — сотни тысяч, но товарищи из эксплуатации меня поправили — таки миллионы. На каждой машинке в очень многих экземплярах 10-20 штук точно крутится.

У нас тысячи разных типов сервисов размазаны по кластеру. Надо пояснить: кластер — это такие машинки, хосты, на них запущены программы, все они общаются по TCP/IP. Программы имеют разное потребление CPU, памяти, жесткого диска, сети — короче, всех этих ресурсов. Программы живут на хостах в общежитии. Точнее, если будем сажать одну программу на хост, то утилизация кластера будет никакой. Поэтому мы вынуждены селить программы друг с другом.

Дальше слайд про то, что с этим делать. А здесь — небольшое замечание, что все данные программы, все релизы мы катаем с помощью торрентов, и число раздач на нашем торрент-трекере превышает оное число на Pirate Bay. Мы реально большие.

Что нужно делать со всей этой кластерной конструкцией? Нужно улучшать механизмы виртуализации. Мы реально вкладываемся в разработку ядра Linux, у нас есть собственная система управления контейнерами а-ля Docker, про неё Олег подробнее расскажет.

Нам нужно заранее планировать, на каких хостах какие программы друг с другом селить, это тоже сложная задача. У нас постоянно что-то на кластер едет. Сейчас там наверняка десять релизов катятся.

Нам нужно грамотно селить программы друг с другом, нужно улучшать виртуализацию, нужно-таки объединить два больших кластера — роботный и поисковый. Мы как-то независимо заказывали железо и считали, что есть отдельно машинки с огромным числом дисков и отдельно — тонкие блейды для поиска. Сейчас мы поняли, что лучше заказывать унифицированное железо и запускать MapReduce и поисковые программы в изоляции: одно жрет в основном диски и сеть, второе в основном CPU, но по CPU у них баланс, нужно туда-сюда крутить. Это большие инженерные проекты, которые мы тоже ведем.

Что мы с этого получаем? Пользу в десятки миллионов долларов экономии капитальных расходов. Вы уже знаете, как мы эти деньги потратим — мы потратим их на улучшение нашего поиска.

Здесь я рассказал о конструкции в целом. Какие-то отдельные строительные блоки. Эти блоки люди долбили стамеской, и у них что-то получилось.

Ранжирующая функция Матрикснет. Достаточно простая функция. Можете почитать — там лежат в векторе бинарные признаки документа, а в этом цикле происходит вычисление релевантности. Я уверен, что среди вас есть специалисты, которые умеют на SSE программировать, и они бы живо это ускорили в десять раз. Так оно в какой-то момент и случилось. Тысяча строчек кода нам спасли 10-15% общего потребления CPU на нашем кластере, что опять же составляет десятки миллионов долларов капитальных расходов, которые мы знаем, как потратить. Это тысяча строчек кода, которая стоят очень дорого.

Мы более-менее вычистили из репозитория, соптимизировали, но там ещё есть что поделать.

Имеется у нас платформа для машинного обучения. Индексы с предыдущего слайда нужно подбирать жадным образом, перебирая все возможности. На CPU это делать долго. На GPU — быстро, зато пулы для обучения не лезут в память. Что нужно делать? Или покупать кастомные решения, куда этих железок много-много втыкается, или связывать машинки быстрым, использовать интерконнект какой-то, infiniband, учиться с этим жить. Оно типично глючит, не работает. Это очень забавный инженерный вызов, с которым мы тоже встречаемся. Он, казалось бы, совсем не связа с нашей основной деятельностью, но тем не менее.

Во что мы ещё инвестируем, так это в алгоритмы сжатия данных. Основная задача сжатия выглядит примерно следующим образом: есть последовательность целых чисел, нужно её как-то компрессировать, но не просто компрессировать — нужно ещё иметь случайный доступ к i-тому элементу. Типичный алгоритм — маленькими блоками сжать это, иметь разметку для общего потока данных. Такая задача — совсем другая, нежели контекстное сжатие типа zip или LZ-family. Там совсем другие алгоритмы. Можно сжать Хаффманом, Varlnt, блоками типа PFORX. У нас есть собственный патентованный алгоритм, мы его улучшаем, и это опять же 10-15% экономии оперативной памяти на простенький алгоритм.

У нас есть всякие забавные мелочи, например доработки в CPU, планировщики Linux. Там какая проблема с гипертредными камнями от Intel? То, что на физическом ядре есть два потока. Когда там два треда занимают два потока, то они работают медленно, латенция увеличивается. Нужно правильно раскидывать задачки по физическим процессорам.

Если раскидывать правильно, а не так, как делает стоковый планировщик, можно получить 10-15% латентности нашего запроса, условно. Это то, что видят пользователи. Сэкономленные миллисекунды умножайте на число поисков — вот и сэкономленное время для пользователей.

У нас есть какие-то совсем странные вещи типа собственной реализации malloc, который на самом деле не работает. Он работает в аренах, и каждая локация просто сдвигает указатель внутри этой арены. Ну и ref counter арены поднимает на единичку. Арена жива, пока жива последняя локация. Для всякой смешанной нагрузки, когда у нас есть короткоживущая и долгоживущая локация, это не работает, это выглядит как утечка памяти. Но наши серверные программы устроены не так. Приходит запрос, мы там аллоцируем внутренние структуры, как-то работаем, потом отдаем ответ пользователю, всё сносится. Этот аллокатор идеально работает для наших серверных программ, которые без состояния. За счет того, что все локации локальны, последовательны в арене, оно работает очень быстро. Там нет никаких page fault, cache miss и т. п. Очень быстро — это от 5% до 25% скорости работы наших типичных серверных программ.

Это инженерка, что ещё можно делать? Можно заниматься машинным обучением. Про это вам с любовью расскажет Саша Сафронов.

А сейчас вопросы и ответы.

Я возьму очень понравившийся мне вопрос, который пришел на рассылку и который следовало бы включить в мою презентацию. Товарищ Анатолий Драпков спрашивает: есть знаменитый слайд про то, как быстро росла формула до внедрения Матрикснета. На самом деле и до, и после. Есть ли сейчас проблемы роста?

Проблемы роста у нас стоят в полный рост. Очередной порядок увеличения числа итераций в формуле ранжирования. Сейчас мы там порядка 200 тысяч итераций делаем в функции Матрикснет, чтобы ответить пользователю. Был получен следующим инженерным шагом. Раньше мы ранжировали на базовых. Это значит, что каждый базовый запускает у себя Матрикснет и выдает сто результатов. Мы сказали: давайте мы лучшие сто результатов объединим на среднем и отранжируем ещё раз совсем тяжелой формулой. Да, мы это сделали, на среднем можно вычислять в нескольких потоках функцию Матрикснет, потому что ресурсов нужно в тысячу раз меньше. Это проект, который нам позволил достичь очередного порядка увеличения объемов ранжирующей функции. Что будет ещё — не знаю.

Андрей Стыскин, руководитель управления поисковых продуктов Яндекса:
— Сколько занимала байт первая формула ранжирования Яндекса?

Пётр:
— Десяток, наверное.

Андрей:
— Ну, да, наверное, где-то символов сто. А сколько сейчас занимает формула ранжирования Яндекса?

Пётр:
— Где-то 100 МБ.

Андрей:
— Формула релевантности. Это для наших смотрителей с трансляций, специалистов по SEO. Попробуйте зареверсинженирить наши 100 МБ ранжирования.

Алеся Болгова, Intel:
— По последнему слайду про malloc не могли бы пояснить, как вы выделяете память? Очень интересно.

Пётр:
— Берется обычная страничка, 4 КБ, в начале у нее rev counter, и дальше мы каждую аллокацию… если маленькие аллокации меньше страницы, мы просто двигаемся в этой страничке. В каждом треде, естественно, эта страничка своя. Когда страничку закрыли — всё, про неё забыли. Единственное, у неё rev counter в начале.

Алеся:
— То есть вы страницу выделяете?

Пётр:
— Внутри страницы аллокациями вот так растем. Единственное, страничка живет, пока в ней последняя аллокация живет. Для обычного workload это выглядит как утечка, для нашего — как нормальная работа.

— Как вы определяете качество страницы, стоит её класть в индекс или нет? Тоже машинное обучение?

Пётр:
— Да, конечно. У странички есть множество факторов, от её размера до показов на поиске, до…

Андрей:
— До robot rank. Она находится на каком-то хосте, в какой-то поддиректории хоста, на неё сколько-то входящих ссылок. Те, кто на неё ссылаются, обладают каким-то качеством. Все это берем и пытаемся предсказать, с какой вероятностью, если данную страничку скачать, на ней будет информация, которая попадет по какому-то запросу в выдачу. Это предсказывается, отбирается топ с учетом размера документов — потому что в зависимости от размера документа вероятность, что она хоть по какому-то запросу попадет, повышается. Задача об оптимальном наполнении рюкзака. Отбирается с учетом размера документа и кладется топовая в индекс.

— …

Андрей:
— Давай мы тебя представим сначала.

— Может, не стоит?

Андрей:
— Владимир Гулин, начальник ранжирования поисковика Mail.Ru.

Владимир:
— Первый мой вопрос — про количество поисков вообще. Вы говорили, что вы там драматически увеличили размер базы. Хочется вообще понимать, с какого объема вы стартовали, каков был объем русского индекса, иностранного индекса, сколько документов приходилось на каждый шард, ну и после увеличения…

Пётр:
— Это такие цифры, слишком технические. Может, в кулуарах я бы сказал. Я могу сказать, во сколько раз мы примерно увеличились — на полтора порядка где-то. В 30 раз, условно. За последние три года.

Владимир:
— Я тогда абсолютные цифры в кулуарах уточню.

Пётр:
— Да, за отдельную плату, что называется.

Владимир:
— Ладно. Что касается свежести — какой приблизительно сейчас в Яндексе объем быстрого индекса? И вообще с какой скоростью вы это всё обновляете, смешиваете?

Пётр:
— Индекс реально реалтаймовый, там порядка двух минут латенции на то, чтобы добавить документ в индекс. От момента, как мы его проиндексировали, и дискавери тоже — скачка быстрая.

Владимир:
— Но именно найти документ. Сначала надо узнать, что документ существует.

Пётр:
— Я понимаю, что вопрос такой — непонятно, когда в интернете появилась первая ссылка на данный документ. Когда мы узнали первую ссылку, то дальше это вопрос минут в быстром слое.

Андрей:
— Речь идет о миллионах документов, которые ежедневно находятся в этом быстром индексе. Про них обычно очень много внешней информации: упоминание в Твиттере, сайтмэпы, упоминание новости на сайте Lenta.ru. И так как мы перекачиваем чуть ли не каждую секунду морду Lenta.ru, мы очень быстро обнаруживаем эти документы и в течение единиц минут в худшем случае доставляем их до поиска. Они могут искаться. По сравнению с большим индексом речь идет про драматически маленькое число документов, это миллионы.

Пётр:
— Да, на 3-4 порядка меньше.

Андрей:
— Да, это миллионы документов, которые умеют обновляться real time.

Владимир:
— Миллионы документов в сутки?

Пётр:
— Побольше чуть-чуть, но примерно так, да.

Владимир:
— Теперь вопрос про смешивание свежих результатов и результатов основного поиска.

Пётр:
— У нас два способа смешивания. Один — документ той же формулой ранжируется, что и батчевый обычный документ. А второй — специальное новостное подмешивание, когда мы определяем интент запроса, понимаем, что он реально свежий и что нужно что-то такое показать. Два способа.

Владимир:
— Как вы боретесь с ситуацией, когда у вас по популярным запросам, где дофига кликов, появляются свежие результаты? Как вы определяете, что свежий результат надо показывать выше того результата, который уже накликан? Спросили у вас: «Google». Вы вроде знаете, какие результаты по такому запросу хорошие. Но тем не менее, в новостях ещё что-то, какие-то статьи…

Пётр:
— Это всякие запросные факторы, всякие тренды и всё такое.

Андрей:
— Для всех поясню, в чем сложность задачи и в чем вопрос. Про документ, который долго существует в интернете, мы много чего знаем. Мы много знаем входящих на него ссылок, знаем, сколько на нем люди проводили времени, а про свежие документы этого всего не знаем. Поэтому сложность задачи ранжирования свежих документов и новостей — угадывать, будут ли люди это читать, уметь предсказывать количество ссылок, которые он наберет за какое-то время, чтобы его показывать нормально. И для подмешивания документов по запросу «Google», когда Google что-то хорошее сделал, там существует некая оптимизационная метрика, которая у нас называется профицит. Мы её умеем оптимизировать.

Пётр:
— Мы знаем поток запросов, содержание свежескачанных страниц. Эти две вещи мы можем анализировать и понимать, что реально свежий запрос требует подмешивания.

Андрей:
— А потом, на основе ручной оценки и пользовательского поведения именно в эту секунду в этот день, мы понимаем, что именно сегодня эта новость по запросу важна и у неё есть такие факторы: документ только появился, на него столько-то ретвитов. И поэтому следующую новость, которая будет с таким же распределением признаков, тоже нужно показывать, когда она наберет соответствующие значения.

Пётр:
—А факторы там могут быть такими: число найденного в обычном слое против числа найденного по этому запросу в свежем. Такие, самые наивные, хотя мы его выпиливаем тщательно.

Андрей:
— Для тех, кого пугает слово «факторы», специально будет третий доклад, где мы расскажем базовые принципы — как вообще устроено машинное обучение, ранжирование, что такое факторы, как с помощью этого сделать поисковик, который выдает нормальные хорошие результаты.

Владимир:
— Спасибо, остальное спрошу потом.

Никита Пустовойтов:
— Получается, у вас существует большое количество урлов, про которые вы в принципе знаете, а качать вы можете на несколько порядков меньше. Поскольку за время скачивания будут появляться новые, больше вы никогда не посетите. Для выбора применяется машинное обучение, какие-то эвристики?

Пётр:
—Только машинное обучение. Идея там простая: мы имеем сигнал на какой-то документ, любой, число показов, и его распространяем по ссылочному графу. Всё это агрегируем на странице «цель ссылки», дальше машинным обучением так же обучаем шанс показаться, исходя из этих данных.

Никита:
— Второй вопрос — инженерный. Вы говорили, что у вас много CPU-затратных задач. Рассматривали ли вы вариант использования процессора Xeon Phi от Intel? Он вроде гораздо быстрее работает с оперативной памятью, чем GPU.

Пётр:
— Мы его рассматривали для задач обучения именно нашего Матрикснета, нашей формулы, и там он феерично плохо себя показал. А так вообще у нас профиль очень плоский, у нас топовая функция где-то 1,5%. Мы всё, что можно, руками соптимизировали, а так у нас портянки С++-кода, который туда не ложится.

— Насколько я знаю, Яндекс был первым поисковиком, который начал работать с русской морфологией. Скажите, на данный момент это всё ещё является каким-либо преимуществом или все поисковики одинаково хорошо работают с русской морфологией?

Пётр:
— Сейчас в области морфологии наука не стоит на месте. Саша Сафронов расскажет о том, чего мы сейчас достигаем, там реально есть новые подходы и новые способы решения проблем. Например, определение запросов, похожих на этот, по пользовательскому поведению. Не расширение отдельных слов, а расширение запросов запросами.

Андрей:
— То есть это не совсем морфология. Морфологию действительно, наверное, все поисковики более-менее освоили, но это базовая вещь. А вот лингвистика, нахождение, чем и какие слова запроса можно расширить, какие ещё вещи стоит поискать в документе, чтобы найти кандидатов, которые будут более релевантные — про это будет третий доклад. Там наше ноу-хау, мы расскажем.

Пётр:
— По крайней мере, намекнем.

Андрей (зритель):
— Спасибо за краткий экскурс в столь сложную технологию, как поиск Яндекса. Использует ли Яндекс deep learning и алгоритмы обучения с подкреплением в построении быстрого индекса или кеша? Вообще если используете где-то, то как?

Пётр:
— Deep learning используем для того, чтобы факторы ранжирования обучать. Безотносительно к быстрому или медленному индексу. Он используется для картинок, веба и всего такого.

Андрей Стыскин:
— Летом запустили версию ранжирования, которая дала 0,5% прироста качества, где мы правильно сварили deep learning на словах. Приезжали наши бывшие коллеги из-за границы и рассказывали, что там такое не работает, а мы научились.

Пётр:
— А может, это потому, что мы для топ-100 документов это делаем. Речь идёт об очень затратной задаче. Наш способ построения пайплайна поиска позволяет для сотни документов это делать.

Андрей Стыскин:
— Невозможно посчитать deep learning для всех кандидатов, которых сотни миллионов на запросы, но для топа документов можно провернуть, и у нас эта схема поиска ровно так работает — позволяет такие очень сложные наукоемкие алгоритмы внедрять.

Игорь:
— Про будущее поисковика в целом. Интернет сейчас растет очень быстро, объем, наверное, растет экспоненциально. Уверены ли вы, что через 10 лет вы будете успевать за ростом интернета, и уверены ли, что будете охватывать его в таком же объеме? Повторите ещё раз, в каком объеме сейчас интернет охвачен по вашей оценке, и что будет через 10 лет?

Пётр:
— К сожалению, можно только процентно по отношению с кем-то степень охвата определять. Потому что он реально бесконечный.

Андрей:
— Это красивый философский вопрос. Пока мы в нашем коллективе за законом Мура успеваем, каждый год кратно увеличиваем наш размер базы. Но это правда сложно, правда интересно, и, конечно же, нам даже не хватает рук, чтобы это делать, но мы хотим и знаем, как это увеличивать в ближайшие несколько лет некоторыми сериями улучшений.

Пётр:
— 10 лет — слишком далеко, но ближайшие годы да, осилим.

Андрей (зритель):
— Сколько весит реплика интернета, как она разносится между ДЦ, и как осуществляется синхронизация реплик?

Пётр:
— Полный объем роботных данных — порядка 50 ПБ, реплика меньше, индекс меньше. Можете умножить на коэффициент, который вам кажется разумным. Вы же инженер, прикиньте.

Андрей:
— А как разносится?

Пётр:
— Разносится банально — через torrent, torrent share. Потом качаем этот файлик.

Андрей:
— То есть в какой-то момент времени они не консистентны?

Пётр:
— Нет, там потом консистентные переключения. Бывает, что переключаем по ДЦ, когда ночью оно вдруг не консистентно.

Андрей:
— То есть можно через F5 — если нажимаем, один документ имеем…

Пётр:
— Мы боремся с этой проблемой, знаем о ней, ее решение стоит в наших планах.

Иван:
— Как вы боретесь с различными бот-системами и за что можно отправиться в бан?

Пётр:
— У нас есть специальные люди, которые знают ответ на этот вопрос, но они не скажут.

Андрей Стыскин:
— На сегодняшнем мероприятии мы хотели поговорить про технические детали.

Пётр:
— Про роботоловилку мы можем ответить. Нас действительно регулярно ддосят, поэтому у нас прямо на балансере, на первом слое, когда запрос попадает, есть детекция, что запрос из какой-то сети пришел негодной. Это быстро обновляется, мы быстро реджектим, оно не валит наш кластер.

Андрей:
— И это тоже устроено методом машинного обучения. Показывается капча, и в зависимости от того, как ты её разгадываешь, мы получаем положительные и отрицательные примеры. На каких-то факторах — типа айпишника подсетки, какого-то поведения, времени между действиями — обучаем и баним или не баним такие запросы. DDoS не пройдет.

Андрей Аксёнов, Sphinx Search:
— У меня технические вопросы. Проходной вопрос — почему память? Неужели даже децл подисковать на SSD не получается, чтобы индекс чуть-чуть не влезал, изредка упирался в SSD?

Пётр
— Там получается так, что футпринт одного запроса порядка 50-100 МБ, он прямо жесткий. С такой скоростью ты не сможешь сервить тысячу запросов в секунду, как мы хотим. Мы работаем над тем, чтобы этот футпринт уменьшить. Проблема, что данные про документ рассыпаны по всему диску. Мы хотим их собрать в одно место, и тогда наша общая мечта осуществится.

Андрей Аксёнов:
— Упирается в bandwidth или latency?

Пётр:
— В оба. Мы и последовательно пейджфолдимся, и объемы большие.

Андрей Аксёнов:
— То есть невероятно, но факт: даже если чуть-чуть…

Пётр:
— Да, даже если чуть-чуть отожрешь — всё.

Андрей Аксёнов:
— Экспоненциальное падение во много раз?

Пётр:
— Да-да.

Андрей Аксёнов:
— Теперь важнейший вопрос для промышленного хозяйства: сколько классов строка и классов векторов в базе?

Пётр:
— А вот всё меньше и меньше.

Андрей Аксёнов:
— Ну конкретнее.

Пётр:
— У нас пришли правильные люди, они насаждают правильные порядки. Сейчас это число уменьшается.

Андрей Аксёнов:
— Векторов-то сколько и строк?

Пётр:
— Сейчас векторов, наверное, даже один-два максимум.

Андрей Аксёнов:
— Один не бывает, два хоть…

Пётр:
— Ну вот видишь.

Андрей Аксёнов:
— А строк?

Пётр:
— Ну должен же быть корпоративный какой-то дух Яндекса.

Андрей Аксёнов:
— Скажи, не томи, ну.

Пётр:
— Строк две минимум. Ну три, может.

Андрей Аксёнов:
— Не пять?

Пётр:
— Не пять.

Андрей Аксёнов:
— Налицо прогресс, спасибо.

Фёдор:
— Про вашу схему с метапоисками. У вас очень высокий каскад. Какие тайминги на каждом уровне, можете озвучить?

Пётр Попов:
— Прямо сейчас вставляем ещё один слой, не хватает. Времена ответов… Средний метапоиск делает три раунда хождений туда-сюда, у него порядка 250 мс, 95-я квантиль. Дальше построение выдачи не очень быстрое, но вся конструкция где-то за 700 мс отрабатывает.

Андрей Стыскин:
— Да, там выше JavaScript, так что это 250 мс, а там 700.

Пётр:
— То, что снизу, оно делает кучу раундов. У нас тоже специалисты заняты прямо сейчас решением этой проблемы.

Фёдор:
— У вас нарисовано три группы вертикалей. Но у вас есть ещё Афиша, Новости и так далее. Где вы их замешиваете в итоге?

Пётр:
— В построении выдачи у нас есть такой блендер, который объединяет все эти вертикали, по пользовательскому поведению решает, кого показать. Это как раз построение выдачи.

Андрей:
— Вертикалей порядка сотни, это слой, который называется верхним метапоиском. В нём сливаются результаты средних метапоисков из вертикали веба, Картинок, Видео и ряда других, а также из маленьких базовых источников типа Афиши, Расписаний, ТВ и Электричек.

Пётр:
— Это к вопросу о том, почему у нас тысячи разных типов программ. Там очень много всяких источников, оно набегает.

Фёдор:
— Раз у вас так много вертикалей, есть ли среди них сторонние, которые не вы считаете?

Пётр:
— Особо нет. Реклама наша тоже вертикальная, отдельно от поиска, но стороннего особо нет.

Артём:
— У вашего основного конкурента выдача всегда была real time, он дельта-индексами докидывал. А у Яндекс был up выдачи. Складывалось впечатление, что темной ночью раз в семь дней человек нажимает рычаг и раскатывает индексы.

Пётр:
— К сожалению, так и происходит.

Артём:
— Правильно понимаю, что быстрый индекс был сделан для того, чтобы актуализировать выдачу real time?

Пётр:
— Да, но решение общее. Многие так реально делают, в том числе и наш основной конкурент.

Артём:
— Стремитесь ли вы к тому, чтобы тоже дельта-индексами подкидывать, просто отказаться от быстрого индекса?

Пётр:
— Естественно, стремимся. Ещё бы знать, как.

Артём:
— Когда это можно ожидать?

Пётр:
— Хороший вопрос. На тех же графиках Ашманова видно, как мы обновляем индекс. Сейчас это видно меньше, и мы делаем так, чтобы это проходило совсем быстро и незаметно. Такова одна из наших задач.

Артём:
— Вы каждый раз обрабатываете запрос пользователя? Приходит запрос, вы отсылаете его на бэкенд, рассчитывается формула и результат?

Пётр:
— Есть кеши, но они работают в 50% случаев. 40-50% запросов пользователей — уникальные и никогда больше не будут заданы. Очень много по-настоящему уникальных запросов пользователей вообще за всю жизнь Яндекса. Кешируем 50-60%. Для кеширования тоже своя система.

Отправить ответ

avatar
  Подписаться  
Уведомление о