A search engine is a critical component of your Liferay DXP installation. If you’re here, you probably know the basics already and want to configure a search engine for your Liferay DXP deployment.
Elasticsearch, a highly scalable, full-text search engine, is installed by default, as an embedded server. Elasticsearch is well-supported and almost certainly meets any search and indexing need you have, but you must not use the embedded version in your production deployment.
Learn to configure a remote Elasticsearch server or cluster here.
Solr is another capable and popular search engine supported in Liferay DXP.
Learn to configure a remote Solr server or cluster here. But first, make sure you understand the disparity in functionality between the supported search engines.
Elasticsearch and Solr are both supported, but there are limitations to Liferay’s Solr integration. To make use of some features, you must choose Elasticsearch.
- Liferay Commerce
- Workflow Metrics
- Custom Filter search widget
- The Low Level Search Options widget
- Search Tuning: Customizing Search Results
- Search Tuning: Synonyms
Implementation for the following APIs may be added in the future, but they are not currently supported by Liferay’s Solr connector.
- From Portal Core (Module:
- From the Portal Search API (Module:
- Portal Search Engine Adapter API (Module:
Liferay Commerce requires the
TermsSetFilter implementation, only available
in the Elasticsearch connector.
Another factor to consider in your search engine selection is JDK version. The search engine and Liferay DXP must use the same Java version and distribution (e.g., Oracle Open JRE 1.8.0_201). Consult the Elasticsearch compatibility matrix and the Liferay DXP compatibility matrix to learn more about supported JDK distributions and versions. This consideration is not necessary for Solr, because no JVM level serialization happens between the servers. All communication occurs at the HTTP level.