Как Яндекс ищет ваши письма

Россия+7 (495) 960-65-87
Шрифт:
0 2155
Яндекс в своем блоге поведал аудитории о том, как устроен поиск по письмам в Яндекс.Почте. Оказывается, в индексе Яндекс.Почты хранится около 10 млрд. писем – это почти столько же, сколько страниц в индексе веб-поиска Яндекса. При этом поисковых запросов примерно в 1000 раз меньше, чем запросов к веб-поиску.

Отличительной особенностью поиска в Почте является то, что здесь очень важна полнота результатов: если веб-поиск не найдёт один-единственный сайт из трёх миллионов по запросу «пластиковые стулья», этого никто (кроме, разумеется, вебмастера этого сайта) не заметит. Гораздо критичнее, если потеряется письмо с важным адресом или паролем.

По этим причинам в поиске по Почте существует ряд архитектурных и технологических особенностей.

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

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

1-й вариант решения: Индекс размером до 10 Гб
Максимальный размер каждого индекса 10 Гб. Следовательно, на каждом сервере получилось по 50-100 индексов, которые создаются в порядке поступления писем, а данные пользователя, таким образом, могут находиться в любом из индексов. Но письма часто содержат большое количество однотипной информации («привет», «пока», «@yandex.ru»), которая подходит под 46% всех запросов к поиску по Почте. Получалось, что ответ на такой запрос требовал поднять около 20% всех писем, хранящихся на сервере — это занимало десятки секунд.

2-й вариант решения: Префиксный индекс
Мы оставили максимальный размер индекса равным 10Гб, но перед каждым словом добавили ID пользователя. В результате каждый поиск сразу ограничивался количеством и размером писем в почтовом ящике текущего пользователя. Это снизило объем находимых данных и на порядок ускорило поиск. Но когда на диске – сотни индексов, то из-за большого числа дисковых операций поиск занимает несколько секунд. Наша же цель – десятые доли секунд.

3-й вариант решения: Шардирование по пользователям
Все индексы на сервере были разделены на 1000 сегментов (шардов). В каждом из них – от пяти до двадцати индексов размером до 1 Гб, и данные конкретного пользователя всегда находятся в определённом сегменте. В результате число дисковых операций было снижено до 20 раз по сравнению со вторым вариантом. Скорость поиска также увеличилась в разы. Так мы получили поиск за доли секунд.

Также отмечается, что для того чтобы все поступающие письма практически сразу появлялись в результатах поиска, был разработан специальный инкрементальный индекс в памяти. В него можно добавлять по одному документу, а после добавления документ сразу появляется в поиске.
Читайте нас в Telegram - digital_bar

Случилось что-то важное? Поделитесь новостью с редакцией.


Новые 
Новые
Лучшие
Старые
Сообщество
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Отправить отзыв
    ПОПУЛЯРНЫЕ ОБСУЖДЕНИЯ НА SEONEWS
    Рейтинг «Известность бренда SEO-компаний 2017»: народное голосование
    Иван
    1
    комментарий
    0
    читателей
    Полный профиль
    Иван - 1) IT-Agency 2) Пиксели 3) 1ps 4) Ингейт 5) Нетпики
    «Баден-Баден»: как выйти из-под фильтра
    Сергей Дембицкий «Sima-Land.ru»
    16
    комментариев
    0
    читателей
    Полный профиль
    Сергей Дембицкий «Sima-Land.ru» - Скрины Метрики показывать не буду, но мы (sima-land.ru - 1,5 млн. стр. в поиске Яндекс) в сентябре загремели под ББ, в разгар сезона и вышли из-под фильтра, спустя 50 дней, удалив все тексты с сайта: категории + карточки товаров (описание). Трафик с Google только вырос. Тексты возвращать собираемся, но процесс будет длительный, тексты будем теперь писать исключительно полезные, т.к. было больно :-))
    Второе дыхание ссылочного продвижения
    Автопилот
    14
    комментариев
    0
    читателей
    Полный профиль
    Автопилот - Еще лучше, когда продвижение осуществляется комплексно :)
    «Прямая линия» с Александром Алаевым («АлаичЪ и Ко»): отвечаем на вопросы
    Александр Алаев
    13
    комментариев
    0
    читателей
    Полный профиль
    Александр Алаев - Роман. Тут ответ очень простой. Каждый запрос можно четко разделить на коммерческий или некоммерческий. "Купить слона" и его длинные хвосты - коммерческий. "Как выбрать слона" и подобные - информационные. Вот под коммерческие ключи должны быть страницы услуг или каталога товаров. А под информационку - блог. Очень важно не путать их, тем более несоответствующая коммерческим факторам страниц просто не продвинется, то есть по запросу с "купить" блог никогда не будет показываться в выдаче, так же как и страница услуги/товаров не покажется по "как выбрать". Понятно примерно?
    Кейс: продвигаем бизнес по продаже пластиковых окон в Москве
    Иван Стороженко
    5
    комментариев
    0
    читателей
    Полный профиль
    Иван Стороженко - 1. По началу вообще не использовали, сейчас уже много каналов используется. 2. Все может быть, в принципе сайты должны быть удобны для пользователя, для этого и нужна схожесть между собой. Честно говоря старались брать все самое интересное у конкурентов + подкреплять своими идеями.
    Инфографика: самые распространенные SEO-ошибки Рунета
    Dmitro Grunt
    2
    комментария
    0
    читателей
    Полный профиль
    Dmitro Grunt - Кстати, у проектов которые продвигает Нетпик все тайтлы не более 65 символов? Или вы надеетесь что кто то послушает советов и отдаст вам часть трафика? :-)
    Google.ru внесли в реестр запрещенных сайтов
    Гость
    1
    комментарий
    0
    читателей
    Полный профиль
    Гость - Гон, все работает и будет работать. Да и пусть банят, будет как с рутрекером.
    День рождения SEOnews: 12 лет в эфире!
    Анна Макарова
    313
    комментария
    0
    читателей
    Полный профиль
    Анна Макарова - Ура )
    Западные специалисты выяснили, как повысить позиции ресурса в выдаче Google
    Serhii Diachenko
    1
    комментарий
    0
    читателей
    Полный профиль
    Serhii Diachenko - Спасибо Бернис!
    «Прямая линия» с Артуром Латыповым: отвечаем на вопросы
    God Koss
    1
    комментарий
    0
    читателей
    Полный профиль
    God Koss - Добрый день! Есть сайты одной компании продвигающиеся в разных странах. .ru .com .net. На российском сайте два языка ru и en, на остальных до 10 языков. Недавно сайт ru по основному брендовому запросу выпал из выдачи Яндекс но после апа вернулся на вторую позицию. На вопрос аффилирования в тех поддержку, получит ответ, что всё в порядке и сайт com не учавствует в выдаче. Но он есть и занимает 1 место. Как быть в данной ситуации? Так же, после возврата в топ 10 по этому запросу зашла еще одна внутренняя страница. Могло ли это случиться из-за каннибализации запроса? Немного изменил description на внутренней, исключил вхождения брендового запроса. Жду апа. Хотел бы услышать ваше мнение. Заранее благодарю!
    ТОП КОММЕНТАТОРОВ
    Комментариев
    910
    Комментариев
    834
    Комментариев
    554
    Комментариев
    540
    Комментариев
    483
    Комментариев
    373
    Комментариев
    313
    Комментариев
    262
    Комментариев
    229
    Комментариев
    171
    Комментариев
    156
    Комментариев
    137
    Комментариев
    121
    Комментариев
    97
    Комментариев
    97
    Комментариев
    95
    Комментариев
    80
    Комментариев
    77
    Комментариев
    67
    Комментариев
    60
    Комментариев
    59
    Комментариев
    55
    Комментариев
    54
    Комментариев
    52
    Комментариев
    49

    Отправьте отзыв!
    Отправьте отзыв!