Детали задачи
-
История
-
Решение: Нет решения
-
Medium
-
Не заполнено
-
Не заполнено
-
Не заполнено
-
Требуется
Описание
Добавить возможность использовать глобальный поиск на стендах без alfresco
Т.к. пока единого места с индексами для поиска всех типов у нас нету, то в рамках этой задачи нужно реализовать следующую логику:
1. В конфигурации ECOS добавить настройку global-search-config, в которой должны настраиваться:
1.1 Максимальное количество одновременных запросов на одно приложение (микросервис). Если будет много одновременных запросов в глобальный поиск, то это не должно положить сервер.
1.2 Список типов, по которым должен быть глобальный поиск и опционально возможность указать атрибуты, по которым мы ищем. Если атрибуты не указывать, то поиск будет по отображаемому имени.
2. В emodel/search при поиске с type: DOCUMENTS взять настройки из глобальной конфигурации, отправить параллельно поисковый запрос по каждому типу из настроек, отсортировать результат по дате создания (первые идут записи, которые созданы позднее) и отдать первые N записей (N - параметр maxItemsForType из запроса. по умолчанию 5).
Пример query запроса:
await Records.query({ sourceId: 'emodel/search', query: { text: "текст_для_поиска", types: ['DOCUMENTS'], maxItemsForType: 5 } }, ['_created', '_modified', '_type?id', '?disp', 'groupType']);