@revbill
Новичок

Что из себя представляет поиск по диалогам в мессенджере?

Хотелось бы понять в общих чертах как устроен поиск по диалогам, который есть во всех популярных мессенджерах (ВК, telegram и т.п.).

Буду благодарен, если вы поделитесь известными вам ресурсами по данному вопросу (статьи, книги, конференции и т.п.)
  • Вопрос задан
  • 740 просмотров
Пригласить эксперта
Ответы на вопрос 4
@0x131315
Быстрый поиск всегда осуществляется по индексу - специально подготовленному набору данных, содержащему только ключевые для задачи поиска данные, в сжатом формате, и размеченные определенным образом для быстрого доступа к записи.
Индексы сегодня полностью обслуживают специальные поисковые движки, коих на рынке много. Велосипеды тут не нужны.
Индексов может быть много - так можно изолировать непересекающиеся наборы данных, и избежать больших "общих" индексов.
Если производительности одного сервера не хватает, применяют кластеры - поиск по индексам хорошо поддается кластеризации.
Чтобы обновлять индексы нужно периодически выполнять переиндексацию - вычитывать полный набор данных и заполнять ими индекс. Это очень тяжелый процесс, поэтому обычно его делают редко и в малонагруженное для сервиса время.
Чтобы можно было искать с учетом всяких прав и статусов сообщений, эти права и статусы сохраняются в тот же индекс как атрибуты, и участвуют в поисковом запросе. Так можно персонифицировать поиск.
Чтобы индексы работали как в реальном времени и соответствовали данным приложения, на приложение навешивают хуки: пользователь скрыл сообщение - сработал хук и переиндексировал только одно это сообщение, что практически не дает нагрузки.
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
reindexer ( не нра что в памяти)
manticoresearch / sphinxsearch
тарантул
кликхаус
на крайняк эластик
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Поищите на хабре Vc как то освещали эту тему. Они даже что то создали и выложили в общий доступ
Ответ написан
Комментировать
samodum
@samodum
Какой вопрос - такой и ответ
Кстати, быстрый поиск в мессенджерах - это прекрасный индикатор того, что ваши сообщения не шифруются. Что бы ни говорили создатели этих мессенджеров
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы