@revbill
Новичок

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

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

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

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

Похожие вопросы