With Liferay Digital Experience Platform (DXP), the default search functionality has switched from Lucene to the Lucene-based Elasticsearch. To provide the best support experience possible, Liferay has teamed up with Elastic to provide the Liferay Enterprise Search offering as an option with the Liferay Digital Experience Platform subscription.
It is very important in the planning phase to make sure that all aspects of your environment are compatible with one another and will be supported by each vendor.
Elastic has made the bulk of their documentation public in the form of the Elastic Definitive Guide. This guide will walk you through most of the questions you may have, including the setup and administration of your Elastic environment.
What follows is a specific selection of notes that should be considered when setting up your environment for Liferay DXP. However, the guide referenced above should be an administrator's primary source when making environmental considerations.
Same-Server Elasticsearch for Testing Purposes Only
- Please note that running Elasticsearch on the same server / JVM as Liferay DXP should only be done for testing purposes.
- DXP environments must set up Elasticsearch on its own server for the environment to be supported. Performance issues may ensue if the Liferay platform and Elasticsearch are not configured in this way.
Elasticsearch Clusters: Use an Odd Number of Nodes
- Because of how master nodes are elected, to avoid cluster issues (split brain), a node quorum should be configured to
(number of master-eligible nodes / 2) + 1 .
- With Elasticsearch 2-node cluster won't work because its quorum would be 2, but this means a loss of one node will make your cluster inoperable. A setting of
quorum=1will allow your cluster to function, but doesn’t protect against split brain.
- It is best to have a minimum of three nodes in situations like this (or configure only one Elasticsearch node).
- Please look closely at both Liferay's compatibility matrix and Elastic's compatibility matrix. In order to receive support for your Elasticsearch setup, you need to make sure that your environment is supported by both Liferay and Elastic.
- While there is significant overlap between the two matrices, we strongly recommend that you verify that your environment is supported by both Liferay and Elastic. For instance, while Liferay supports the IBM JDK, Elastic does not support IBM's JDK at this time.
Please speak to your sales representative if you have any questions.