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

Откроется страница истории диалогов.
Столбцы таблицы
В таблице истории диалогов отображаются следующие поля:
| Поле | Описание |
|---|---|
| № | Внутренний идентификатор обращения |
| Имя | Имя посетителя (или «Посетитель», если имя не задано) |
| ID посетителя | Уникальный идентификатор посетителя. Подробнее см. описание идентификаторов |
| Email посетителя | Адрес электронной почты посетителя, если был указан |
| Телефон | Номер телефона посетителя, если был указан |
| Адрес посетителя | IP-адрес, с которого начат диалог |
| Оператор | Оператор, который последним писал или совершил действие в диалоге |
| Сообщений посетителя | Количество сообщений, отправленных посетителем в рамках обращения |
| Категории | Список категорий, назначенных диалогу. Если их несколько, они выводятся через запятую |
| Отделы | Отдел, в который было направлено обращение |
| Начат | Дата и время начала диалога |
| Длительность обращения | Общая продолжительность обращения от создания до закрытия |
| Действие | Возможность начать новый диалог с посетителем (Начать диалог) |
На этой странице отображается список всех диалогов, доступных для просмотра этим оператором, прежде всего между ним самим и посетителями, которых он(а) обслужил(а).
История диалогов может работать в двух режимах:
-
Стандартный режим - поиск по истории диалогов работает через аналитическую СУБД (MySQL, PostgreSQL), при большом количестве диалогов процесс может занять продолжительное время.
-
Режим интеграции Webim с Elasticsearch - поиск по истории диалогов работает через интеграцию с поисковым движком Elasticsearch, что ускоряет поиск по истории при большом количестве диалогов. Передача диалогов в движок осуществляется с помощью компонента
es-storager.
Чтобы быстро осуществить навигацию по истории сообщений, Вы можете ввести в строке поиска имя посетителя, его внутренний ID или фрагмент текста сообщения.
Чтобы перейти к расширенному поиску, нажмите Все фильтры. Откроется вложенная вкладка:
В качестве дополнительных фильтров можно настроить следующие параметры:
- Операторы: можно выбрать одного или несколько операторов, чьи диалоги необходимо найти;
- Оценка: можно выбрать чаты, в которых посетитель поставил оператору определённую оценку;
- Отделы: позволит показать чаты, обращения в которых были направлены в определённые отделы;
- Язык диалога: отображение чатов на конкретном языке;
- Категория: отображение чатов, которым была задана одна из выбранных категорий;
- Показывать диалоги: позволит отобразить диалоги, которые попали в одну из следующих групп:
- Онлайн: онлайн-обращения;
- Офлайн: офлайн-обращения (обращение считается офлайн, если все операторы в отделе для обращения были в статусе Офлайн;
- Пропущенные: обращение считается пропущенным, если посетитель ушёл до того, как ему начали набирать ответ, и не вернулся до того, как закрыли диалог;
- Отказы: обращение, в котором посетитель написал, когда операторы были онлайн, и находился онлайн в течение этого тайм-аута, но не получил за это время ответа;
- Отклонённые приглашения;
- В обработке.
- Минимум сообщений: показывает диалоги, в которых количество сообщений – не меньше указанного;
- ID посетителя: отображает все чаты с посетителем с данным ID.
N.B.
Несколько фильтров применяются по принципу логического И, т.е. при выборе любых нескольких фильтров в результатах поиска будут отображены только те диалоги, которые соответствуют значениям всех заданных фильтров.
Также в таблице с историей в крайней правой колонке есть кнопка Начать чат. Это позволит Вам начать новый чат с данным посетителем. В РМО он отобразится в отделе Приглашённые. Если посетитель не онлайн, у чата будет пометка «офлайн».
Скачивание данных пользователей
Чтобы выгрузить список всех посетителей, которые обращались к Вам за всё время, нажмите кнопку Скачать данные всех посетителей. Начнётся загрузка csv-файла. В нём будет содержаться информация о всех посетителях, когда-либо обращавшихся к Вам за консультацией, с указанием их идентификаторов, имени, даты и времени обращения.

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

Чтобы загрузить список диалогов на локальный диск в формате Microsoft Excel, нажмите Сохранить как XLSX с диалогами.
Функция доступна при включённой тарифной опции thread_search_leads_excel_export. Для её активации обратитесь к вашему менеджеру.
Сервис сформирует файл и предложит сохранить его на диске. Выберите имя и директорию для сохранения. Откройте файл в программе Microsoft Excel. Обратите внимание, что выгрузить можно не более 5000 диалогов.

Поиск по тексту
Далее описаны правила того, как работает строка поиска и фильтр «Текст сообщения» в разделе История диалогов. В интерфейсе могут применяться два разных механизма:
- Поиск по ElasticSearch — полнотекстовый, токенизирующий запрос.
- Поиск по SQL — поиск подстроки в тексте сообщений.
Отличия видов поиска
| Характеристика | ElasticSearch | SQL |
|---|---|---|
| Обработка фразы с несколькими словами | Слова анализируются отдельно; по умолчанию — логическое И; порядок слов не важен (кроме запроса в кавычках) | Ищется точная подстрока; порядок и пробелы важны |
Кавычки "…" |
Поиск строгой последовательности слов | Не имеют специального смысла, учитываются как обычные символы |
| Регистрозависимость | Регистр не учитывается | Регистр не учитывается |
| Маски | Поддерживается только суффиксная * у одного слова |
Маски не используются; поиск по части слова возможен обычным вводом фрагмента |
| Ошибки в синтаксисе | Невалидные части запроса игнорируются, поиск выполняется по валидным фрагментам | Синтаксического парсинга нет; ищется введённая подстрока |
| Производительность и актуальность | Быстрая индексация, «почти в реальном времени» | Скорость зависит от объёма и периода; при длинных интервалах медленнее |
Поля, по которым выполняется поиск
Свободная строка поиска и фильтр «Текст сообщения» применяются к текстам сообщений диалога (сообщения посетителя и оператора). Структурные фильтры (период, канал, оператор, отдел, категория и т. п.) сужают выборку диалогов и не меняют правила разбора текстового запроса.
N.B.
Внутренние системные события отображаются в истории, но в текстовом поиске учитываются только текстовые тела сообщений.
Поиск через ElasticSearch
Поддерживаются следующие операторы в строке поиска:
+— логическое И между словами|— логическое ИЛИ"…"— точная фраза (строгое совпадение порядка и соседства слов)*— только в конце одного слова для поиска по префиксу
N.B.
Любые символы внутри кавычек трактуются как обычные символы. Другие расширенные операторы (например, -, ~, скобки) в интерфейсе истории не используются.
Особенности
- Порядок слов вне кавычек не важен. Запрос из нескольких слов трактуется как логическое И между токенами.
- Регистр не учитывается.
- Если запрос сформулирован с ошибкой (например, не закрыты кавычки), невалидные части игнорируются и поиск всё равно выполняется по валидным фрагментам.
- Маска
*работает только как суффикс одного слова:эластик*. Конструкции видапоиска в эластик*не возвращают результатов. - Символ
?в текстовом поле не поддерживается и воспринимается как обычный символ.
Примеры (Elastic)
Пусть в сообщениях есть фрагмент: фраза для поиска в эластике.
| Ввод | Результат |
|---|---|
фраза |
Диалоги, где встречается слово «фраза» |
фраза для |
Диалоги, где встречаются оба слова «фраза» и «для», порядок не важен |
"фраза для" |
Диалоги с точной последовательностью «фраза для» |
"фраза для" | поиска |
Диалоги с точной фразой «фраза для» или со словом «поиска» |
эластик* |
Диалоги со словами, начинающимися на «эластик…» |
поиска в эластик* |
Результатов нет (маска работает только для одного слова) |
"фраза для |
Работает как фраза для (первая кавычка будет проигнорирована) |
Поиск через SQL
Поиск выполняется как независимое от регистра сравнение подстроки в тексте сообщений. Специальный синтаксис в строке не используется.
Особенности
- Несколько слов, разделённых пробелами, трактуются как единая подстрока: порядок и наличие пробелов важны.
- Кавычки,
*,?и другие символы не имеют специального смысла и воспринимаются как обычные символы. - Для поиска по части слова достаточно ввести фрагмент слова; он будет найден как подстрока.
Примеры (SQL)
Те же исходные данные: фраза для поиска в эластике.
| Ввод | Результат |
|---|---|
фраза |
Диалоги, где встречается подстрока «фраза» |
фраза для |
Диалоги, где встречается ровно «фраза␠для» (в этом порядке) |
"фраза для" |
То же, что и выше: кавычки не влияют |
эластик* |
Диалоги с подстрокой «эластик*» (звёздочка не является маской) |
ласт |
Диалоги, где встречается «ласт» как часть слова |
Влияние фильтров
Период ограничивает набор диалогов, в пределах которого выполняется текстовый поиск.
Канал, отдел, оператор, категория и другие параметры сужают выборку диалогов. Логика разбора текстового запроса при этом не меняется.
Ограничения
- В Elastic не поддерживается комбинация маски
*и нескольких слов. Если нужен поиск по нескольким словам и одному префиксу, используйте последовательные запросы или уточняйте фразу. - В SQL при длинных интервалах время отклика может увеличиваться, так как поиск подстроки линейно зависит от объёма текста.
- Для строгого совпадения слов рядом и в заданном порядке используйте кавычки в режиме Elastic. В SQL того же эффекта можно добиться, введя фразу целиком, включая пробелы в нужном месте.
Выбор режима поиска
Переключение режима выполняется параметром elasticsearch_history.
true— строка поиска и фильтр «Текст сообщения» работают через ElasticSearch (simple_query_string).false— используется SQL (регистронезависимый поиск подстроки по телу сообщений).
Подключение к кластеру Elastic настраивается по инструкции «Подключение Elasticsearch».
Где включить?
- Через редактор настроек аккаунта (account config): найдите параметр
elasticsearch_historyи установите нужное значение. - После включения Elastic убедитесь, что запущен процесс индексации истории. Для старых сообщений может потребоваться первичная индексация.
N.B.
Если у вас нет доступа к account config, пожалуйста, обратитесь к вашему аккаунт-менеджеру.
Как проверить режим
- В логах запросов видны обращения либо к Elastic, либо SQL с
ILIKEпо телу сообщений. - В интерфейсе начинают работать
|и суффиксная маска*только в Elastic‑режиме.
Связанные страницы
- Подключение Elasticsearch — установка и подключение Elasticsearch
- Редактор настроек аккаунта — как открыть и поменять параметры уровня аккаунта, включая
elasticsearch_history

