Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note

Если на платформе используются признаки видимости для ограничения видимости пользователей друг другу, то они влияют на поисковую выдачу и при использовании стандартного поиска Мотивити, и при — ElasticsearchOpenSearch.

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

Подробнее о влиянии признаков видимости на поиск в https://motivityy.atlassian.net/wiki/spaces/Documentation/pages/203849749#%D0%9F%D0%BE%D0%B8%D1%81%D0%BA

...

Запросы можно удалять из истории поиска.

...

OpenSearch

Note

Важно: на текущий момент поддержка Elasticsearchдля SaaS (облачной инфраструктуры) прекращена (подробнее см. https://yandex.cloud/ru/blog/posts/2023/06/managed-elasticsearch), поэтому мы сменили сервис для поиска с Elasticsearch на OpenSearch. Для клиентов, у которых платформа расположена в закрытом контуре, поисковая система Elasticsearchможет быть развернута и мы продолжаем ее поддержку, если она уже развернута, несмотря на то, что сами работаем только с OpenSearch

Что такое

...

OpenSearch

Elasticsearch OpenSearch (далее “ES”“OS”) – самая популярная поисковая система, которая позволяет искать и анализировать данныеэто легко масштабируемая система поисковых и аналитических инструментов с открытым исходным кодом.

Как работает

...

OS

Основное отличие для работы с текстовыми документами является анализатор - цепочка последовательных обработчиков текста.

...

  • lowercase - изменяет текст токена на нижний регистр (например, ХОРОШИЙ день меняется на хороший день)

  • russian_stop - игнорирует определённые слова, которые засоряют поиск (список слов тут)

  • russian_stemmer -нахождение основы слова для заданного исходного слова (алгоритм работы можно почитать тут https://snowballstem.org/algorithms/russian/stemmer.html)

  • hunspell - игнорирует орфографические ошибки в русском или английском тексте

  • en_to_ru_char_filter - исправляет ошибки раскладки (например, заменяет “rfr yfqnb” на “как найти“)

  • html_strip - удаляет элементы HTML из текста и заменяет объекты HTML их декодированным значением (например, заменяет &на &)

Преимущества

...

OS

  • ES OS позволяет качественно и быстро обрабатывать текст, в том числе при частичном и полнотекстовом вводе запроса. Как это работает: вы ввели запрос, и система поиска начинает анализировать все страницы без исключения, а не ищет абсолютно точное совпадение с запросом. 

  • При ошибке раскладки (например, “rfr yfqnb” вместо “как найти“), поиск все еще понимает, что требуется найти, то есть меняет запрос на кириллическую раскладку и происходит поиск будто запрос происходил на русском языке

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

  • Распределенная система ES OS позволяет параллельно обрабатывать большие объемы данных, мгновенно подбирая наилучшее соответствие к запросу.

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

  • Возможен поиск внутри документа и по названию документов. Для этого добавлена возможность загружать в контейнер ElasticSearch OpenSearch файлы в форматах pdf для их обработки и поиска по ним.
    (warning) В данный момент невозможно учесть ограничения по модулю и доступу к записи, т.е. пользователю в результатах поиска выводятся файлы, которые ему недоступны

    В результатах поиска выводится:

    • Название модуля

    • Иконка pdf + название файла со ссылкой на открытие

    • Цитата из файла, по которой найдено совпадение

Варианты подключения

...

OS

Существует несколько вариантов как можно подключить к платформе ESOS:

  • Платформа расположена на серверах motivity - в данном случае подключение и использование ES OS абсолютно бесплатно. Если в опросном листе проставлена галочка ESOS, то поиск будет подключен сразу. Если платформа уже развернута, то надо обратиться к саппорту, и он подключит вам ESOS.

  • Платформа расположена в закрытом контуре - тогда для подключения необходимо развернуть собственный сервер для использования нового поиска, при этом мы можем помочь в разворачивании контейнера ES. как OpenSearch так и Elasticsearch, несмотря на то, что сами работаем только с OpenSearch

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

Какие данные передаются в

...

OS

Возникает логичный вопрос - какие данные передаются в ElasticOS? Как они защищены? На наш сервер будут попадать данные, которые сейчас участвуют в поиске: фио и email (для поиска по пользователям), заголовки, текст и краткое описание (для поиска по сущностям). Данные разграничены индексами эластикаOS, которые будут уникальны и завязаны на логин и пароль, у пользователей не будет возможности узнать данные других пользователей.

Включение

...

OS на платформе

Функционал поиска Elasticsearch OpenSearch включается в ПА на странице Параметры системы - Поиск НастройкиНастройки поиска, для этого на вкладке “Настройки“ Настройки требуется активировать соответствующий чек-бокс, а также заполнить поля “Хост“ Хост, “Порт“ Порт, “Имя пользователя“ Имя пользователя и “Пароль“ Пароль (данные для заполнения полей необходимо запросить у технической поддержки)

...

После сохранения настроек подключения, требуется перейти на вкладку “Данные ElasticSearch“ Данные Elasticsearch/OpenSearch и выполнить обновление, нажав на соответствующую кнопку

...

...

В случае если дополнительный функционал поиска отключен или сервер с ним недоступен, на вкладке Данные Elasticsearch/OpenSearch будет показано соответствующее сообщение

...