Объединенный поиск

В SberMobile Server интегрирована поисковая система, которая выполняет индексацию единой модели данных и предлагает единый интерфейс поиска, который можно использовать для поиска различных контекстов, переменных, функций, событий и экземпляров классов.

Доступ к единому поиску осуществляется с помощью действия Поиск, определенного в корневом контексте. Действие открывает специальный диалог, в котором поле поиска может использоваться для поиска по всему контекстному дереву SberMobile Server и базе данных.

Конфигурация индексирования

Настройки индексации доступны через конфигурацию плагина Поиск. Настройки включают в себя несколько элементов конфигурации:

Параметры индексации

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

  • Маска контекстов для индексации.

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

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

  • Флаг Определения контекстов позволяет индексировать основные свойства контекста (такие как имена, описания, типы и т. д.).

  • Флаг Определения переменных позволяет индексировать метаданные переменных (имена, описания, параметры полей и т. д.).

  • Флаг Определения функций позволяет индексировать метаданные функций (имена, описания, параметры входных и выходных полей и т. д.)

  • Флаг Определения событий позволяет индексировать метаданные событий (имена, описания, параметры полей и т. д.).

  • Флаг Определения действий позволяет индексировать метаданные действий (имена, описания и т. д.).

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

  • Таблица Экземпляры событий определяет список типов событий, экземпляры которых будут проиндексированы (индексируются уровень, данные события, Обогащения и Обогащения).

Настройки поиска

Текущее свойство определяет параметры для индексов и производительности при развертывании с распределенной архитектурой:

  • Настройка Папка хранения индексов, в которой указывается папка (или подпапка папки установки SberMobile Server), содержащая индекс поиска.

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

  • Использовать сторонние источники при распределённом поисковом запросе применимо к развертываниям с распределённой архитектурой.

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

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

  • Пользовательский дашборд для результатов поиска позволяет открыть пользовательскую панель, когда пользователь открывает панель Объединенного поиска в пользовательском интерфейсе. Когда пользовательская панель открывается таким образом, в URL-адрес панели будет включен параметр URL с ключом searchValue. Значение параметра будет соответствовать поисковому запросу, введенному пользователем.

Параметры индексации классов

В таблице Параметры индексации классов вы можете настроить, какие классы и экземпляры классов будут индексироваться. Текущая таблица включает следующие параметры:

  • Контекст класса используется для определения контекста класса, экземпляры которого должны быть проиндексированы.

  • Поля класса используются для определения полей, которые необходимо индексировать.

Сторонние источники поиска

Таблица Сторонние источники поиска позволяет легко интегрировать любое количество внешних источников данных в результаты Объединенного поиска. Любой источник данных, доступ к которому можно получить из SberMobile, может быть интегрирован, включая внешние базы данных, ответы от API и так далее.

Каждая строка таблицы Сторонние источники поиска определяет, как будут обрабатываться запросы к отдельному источнику данных. Выражения в каждом поле подробно описаны далее, но основной порядок операций следующий:

  • Поисковое выражение использует строку запроса для запроса к внешнему источнику данных и должно вычислить таблицу данных, содержащую результаты поиска. Эта таблица данных с результатами поиска затем используется Выражением для значения сущности.

  • Выражение для значения сущности оценивается для каждой строки таблицы данных, созданной поисковым выражением, и должно разрешиться в строку, которая представляет собой полный ответ на запрос. Например, при запросе к внешней базе данных, содержащей информацию о блоге, результатом будет полная запись блога.

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

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

  • Выражение для фрагмента оценивается для каждой строки таблицы данных, созданной Поисковым выражением, и должно преобразовываться в Строку. Фрагмент обычно показывает небольшую часть полного ответа на запрос и может быть отображен на странице результатов поиска, чтобы дать пользователю быстрое понимание каждого результата.

Более подробно поля Сторонних источников поиска описаны ниже:

  • Название источника поиска определяет имя внешнего источника данных.

  • Поисковое выражение извлекает данные из внешнего источника данных. Переменная окружения searchQuery содержит строку, указанную пользователем во время операции поиска. Выражение должно оцениваться по таблице данных, содержащей результаты запроса. Возможные методы включают запрос к устройству базы данных или запрос к конечной точке REST с помощью устройства HTTP.

Среда вычисления Поискового выражения:

Контекст по умолчанию

Нет

Таблица данных по умолчанию

Нет.

Строка по умолчанию

0

Переменные окружения

  • Стандартные переменные

  • searchQuery - возвращает строку запроса, указанную пользователем при поиске.

  • Выражение для значения сущности должно оцениваться как строка для каждой строки таблицы данных из оценки Поискового выражения. Строка должна представлять собой основной текст результата поискового запроса.

Среда вычисления Выражение для значения сущности:

Контекст по умолчанию

Нет

Таблица данных по умолчанию

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

Строка по умолчанию

0

Переменные окружения

  • Стандартные переменные

  • searchQuery - возвращает строку запроса, предоставленную пользователем при поиске.

  • Выражение для типа сущности должно оцениваться как строка для каждой строки таблицы данных из оценки Поискового выражения. Строка должна представлять тип результата поискового запроса. Это значение определяется пользователем и обычно используется в качестве метки для группировки или фильтрации результатов запроса на пользовательской панели результатов поиска. Для сравнения, типы сущностей, используемые SberMobile для определения результатов внутреннего поиска, - это переменная, событие, функция и контекст.

Среда вычисления Выражение для типа сущности:

Контекст по умолчанию

Нет

Таблица данных по умолчанию

Текущая строка таблицы данных, предоставленная при вычислении Поискового выражения.

Строка по умолчанию

0

Переменные окружения

  • Стандартные переменные

  • searchQuery - возвращает строку запроса, предоставленную пользователем при поиске.

  • Выражение для ссылки должно быть оценено в строку для каждой строки таблицы данных из оценки Поискового выражения . Строка должна представлять собой ссылку на результат поискового запроса. Для результатов поиска, доступ к которым можно получить через Интернет, текущий результат обычно представляет собой URL.

Среда вычисления Выражения для ссылки:

Контекст по умолчанию

Нет

Таблица данных по умолчанию

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

Строка по умолчанию

0

Переменные окружения

  • Стандартные переменные

  • searchQuery - возвращает строку запроса, предоставленную пользователем при поиске.

  • Выражение для фрагмента должно оцениваться как String для каждой строки таблицы данных из оценки Поискового выражения . Строка должна представлять собой фрагмент результата поискового запроса. Текущий фрагмент часто представляет собой подмножество значения результата, содержащее термин запроса. Фрагмент должен быть пригоден для использования в качестве предпросмотра результата поиска при отображении в пользовательском интерфейсе.

Среда разрешения фрагмента для фрагмента:

Контекст по умолчанию

Нет

Таблица данных по умолчанию

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

Строка по умолчанию

0

Переменные окружения

  • Стандартные переменные

  • searchQuery - возвращает строку запроса, указанную пользователем при поиске.