Search

The Search add-on provides full-text search functionality for your application. It allows you to configure indexing of entities and uploaded files, as well as providing API and UI components for searching the indexed data. The search results are filtered based on the data access permissions of the current user.

The add-on utilizes Elasticsearch or OpenSearch (since Jmix 2.3) as its search engine. It can work with only one of them at the same time.

For more information about the internal search and indexing mechanisms, please refer to the Elasticsearch or OpenSearch documentation.

Installation

For automatic installation through Jmix Marketplace, follow instructions in the Add-ons section.

By default, the add-on will be installed with the OpenSearch support.

If you upgrade the project from the previous Jmix version with the installed add-on, it will keep the Elasticsearch support.

For manual installation, add the following dependencies to your 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'

If you want to switch between Elasticsearch and OpenSearch, replace jmix-search-opensearch-starter with jmix-search-elasticsearch-starter or vice versa:

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

Connecting to Search Engine Service

To connect to the Elasticsearch/OpenSearch service, specify the following properties in the application.properties file:

  • jmix.search.server.url - the complete URL of the service.

  • jmix.search.server.login - the login for basic authentication.

  • jmix.search.server.password - the user password used to connect to the service.

Versions Compatibility

Java API clients for Elasticsearch/OpenSearch are forward-compatible with server version.

The add-on uses Elasticsearch Java API client v8.10.4 that supports ES 8.10+ (but also should support older versions till the oldest version is still supported by Elastic - 7.17.x)

With OpenSearch, the add-on uses Java API client v2.10.3.

Note that the Search add-on is not currently compatible with the Elasticsearch service offered by AWS.