Search

Дополнение Search предоставляет функциональность полнотекстового поиска для вашего приложения. Оно позволяет настраивать индексацию сущностей и загруженных файлов, а также предоставляет API и UI-компоненты для поиска по индексированным данным. Результаты поиска фильтруются на основе прав доступа к данным текущего пользователя.

Дополнение использует Elasticsearch или OpenSearch в качестве поисковой системы. Оно может работать только с одной из них одновременно.

Для получения дополнительной информации о внутренних механизмах поиска и индексации обратитесь к документации Elasticsearch или OpenSearch.

Установка

Для автоматической установки через Jmix Marketplace следуйте инструкциям в разделе Дополнения.

По умолчанию дополнение будет установлено с поддержкой OpenSearch.

Если вы обновляете проект с предыдущей версии Jmix с установленным дополнением, оно сохранит поддержку Elasticsearch.

Для ручной установки добавьте следующие зависимости в ваш build.gradle:

implementation 'io.jmix.search:jmix-search-flowui-starter'
implementation 'io.jmix.search:jmix-search-starter'
implementation 'io.jmix.search:jmix-search-opensearch-starter'

Если вы хотите переключиться между Elasticsearch и OpenSearch, замените jmix-search-opensearch-starter на jmix-search-elasticsearch-starter или наоборот:

implementation 'io.jmix.search:jmix-search-elasticsearch-starter'

Подключение к сервису поисковой системы

Для подключения к сервису Elasticsearch/OpenSearch укажите следующие свойства в файле application.properties:

  • jmix.search.server.url - полный URL сервиса.

  • jmix.search.server.login - логин для базовой аутентификации.

  • jmix.search.server.password - пароль пользователя, используемый для подключения к сервису.

Совместимость версий

Java API клиенты для Elasticsearch/OpenSearch имеют прямую совместимость с версией сервера.

Версия Elasticsearch Java API, используемая дополнением, определяется Spring Boot. См. версию co.elastic.clients:elasticsearch-java в https://docs.spring.io/spring-boot/3.5/appendix/dependency-versions/coordinates.html.

Для OpenSearch дополнение использует Java API client v2.13.

На платформе AWS необходимо использовать Amazon OpenSearch Service. Устаревший сервис Elasticsearch не поддерживается.