Elasticsearch is used in Alfresco Process Services as a data store for generating analytics and reports. Elasticsearch is an open source data store for JSON documents. Its main features include fast full text search and analytics.
Alfresco Process Services uses a REST connection to communicate with a remote instance of Elasticsearch. The application creates a Java Low Level REST client, which allows you to configure Process Services to index event data into a remote Elasticsearch service. The REST client internally uses the Apache HTTP Async Client to send HTTP requests. This allows communication with an Elasticsearch cluster through HTTP.
A REST connection between Elasticsearch and Alfresco Process Services has three points to be aware of:
- REST operations made using the native transport protocol are not supported. The Elasticsearch service exposes only the REST API and not the transport protocol. Operations must therefore be run across an HTTP connection.
- No data is stored on the server on which the application is running. The data fully resides within the Elasticsearch cluster in the remote environment.
- In multi-tenant setups, four indexes are created per tenant.
For more details regarding the REST client, see Java Low Level REST Client.
If migrating from an embedded Elasticsearch instance, see rebuilding Elasticsearch instances after configuring a connection to an external Elasticsearch instance via REST.
For information about the compatibility between the REST client and the remote Elasticsearch cluster environment, see Communicating with an Elasticsearch Cluster using HTTP.