Search

The Search add-on enables full-text search capabilities in your application. It allows you to set up indexing of entities and uploaded files and provides API and UI controls for searching through the indexed data. Search results are filtered according to the data access permissions of the current user.

The add-on uses Elasticsearch as its search engine. More information about search internals and indexing can be found in Elasticsearch documentation.

Installation

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

For manual installation, add the following dependencies to your build.gradle:

implementation "io.jmix.search:jmix-search-starter"
implementation "io.jmix.search:jmix-search-ui-starter"
The Search add-on is compatible with version 7 of Elasticsearch. The version 8+ is currently not supported.

Connecting to Elasticsearch Service

Using Elasticsearch Cluster

To connect to the Elasticsearch service, you need to specify the following properties in the application.properties file:

  • jmix.search.elasticsearch.url - a full URL of the Elasticsearch cluster.

  • jmix.search.elasticsearch.login - a user login to connect to the Elasticsearch cluster.

  • jmix.search.elasticsearch.password - a user password to connect to the Elasticsearch cluster.

Using Amazon Web Services

To connect to Elasticsearch deployed in AWS with IAM authentication, add the following properties to your application.properties file:

  • jmix.search.elasticsearch.url - a full URL of Elasticsearch service.

  • jmix.search.elasticsearch.aws.region - AWS region, for example, 'eu-central-1'.

  • jmix.search.elasticsearch.aws.accessKey - an access key of the target IAM user.

  • jmix.search.elasticsearch.aws.secretKey - a secret key of the target IAM user.