Liferay DXP Elasticsearch Connectors: Technical Data Sheet

Introduction

This article extends the Search Engine Compatibility Matrix to provide technical information about Liferay's Elasticsearch* connectors.

Notes on Liferay Enterprise Search (LES)
The LES connectors are omitted from this article as they are not server connectors: they do not instantiate clients to communicate with Elasticsearch nodes, but rather extend the capabilities of our Elasticsearch connectors.

DXP Patch Levels & Marketplace Versions
The information in this article applies to the versions listed below available DXP versions (Fix Pack level or Marketplace version) unless indicated otherwise. This article will be updated as changes are required.

  • DXP 7.4 GA1
  • DXP 7.3 FP2
  • DXP 7.2 FP15
  • DXP 7.1 FP25
  • DXP 7.0 FP101
  • Liferay Connector to Elasticsearch 7 v3.2.1 (for DXP 7.2)
  • Liferay Connector to Elasticsearch 7 v2.0.0 (for DXP 7.1)
  • Liferay Connector to Elasticsearch 6 v1.3.0 (for DXP 7.0)
    Latest Update: October 28, 2021

Table of Contents

DXP 7.4

Name Availability Fix/Support Fix Delivery Method Elasticsearch Client Type* Elasticsearch Client Lib Version** Communication Protocol Supports Secure Connection (TLS/SSL, user authentication) Compatible Elasticsearch Version*** JVM Requirement****
Liferay Connector to Elasticsearch 7
Bundled (default) Fix Pack/Hotfix REST Client (Java) 7.14.1 HTTP Yes, out-of-the-box (HTTPS) 7.14.x-7.15.x No

The connector configuration’s Operation Mode (operationMode) setting is deprecated and replaced with Production Mode Enabled (productionModeEnabled). The Embedded operation mode has been replaced with a Sidecar Elasticsearch server as of DXP 7.3.

* We mostly use the High Level REST Client, however, there are some currently unimplemented features that DXP needs so we obtain the Low Level REST Client from the High-Level client to build the necessary JSON for the requests.

** Refers to the client library version the connector uses. The version of the Sidecar Elasticsearch server started when the portal first starts and the connector is not yet configured for Production mode may be using a newer minor version, but its version is never lower than the client version.

*** From Elastic's documentation:

"The High Level Client is guaranteed to be able to communicate with any Elasticsearch node running on the same major version and greater or equal minor version. It doesn’t need to be in the same minor version as the Elasticsearch nodes it communicates with, as it is forward compatible meaning that it supports communicating with later versions of Elasticsearch than the one it was developed for."

Regarding the Low Level Client, Elastic's documentation states that "it is compatible with all Elasticsearch versions". It is important to note that this compatibility refers to the Elasticsearch client only. Liferay conducts ad-hoc testing of the Elasticsearch connectors with minor releases of Elasticsearch to ensure that Liferay DXP features are also compatible with newer minor versions. As these minor releases sometimes introduce breaking changes, the Search Engine Compatibility Matrix is updated only after successful iterations.

**** The Java REST Client communicates with Elasticsearch over HTTP. This communication protocol does not require Java serialization between DXP and Elasticsearch as opposed to the previous Transport Client-based connectors. Your Elasticsearch nodes can run on different JVM than what your DXP deployment is using.

 

DXP 7.3

Name Availability Fix/Support Fix Delivery Method Elasticsearch Client Type* Elasticsearch Client Lib Version** Communication Protocol Supports Secure Connection (TLS/SSL, user authentication) Compatible Elasticsearch Version*** JVM Requirement****
Liferay Connector to Elasticsearch 7
Bundled (default) Fix Pack/Hotfix REST Client (Java) 7.9.0 HTTP Yes, out-of-the-box (HTTPS) 7.9.x-7.15.x No

The connector configuration’s Operation Mode (operationMode) setting is deprecated and replaced with Production Mode Enabled (productionModeEnabled). The Embedded operation mode has been replaced with a Sidecar Elasticsearch server.

* We mostly use the High Level REST Client, however, there are some currently unimplemented features that DXP needs so we obtain the Low Level REST Client from the High-Level client to build the necessary JSON for the requests.

** Refers to the client library version the connector uses. The version of the Sidecar Elasticsearch server started when the portal first starts and the connector is not yet configured for Production mode may be using a newer minor version, but its version is never lower than the client version.

*** From Elastic's documentation:

"The High Level Client is guaranteed to be able to communicate with any Elasticsearch node running on the same major version and greater or equal minor version. It doesn’t need to be in the same minor version as the Elasticsearch nodes it communicates with, as it is forward compatible meaning that it supports communicating with later versions of Elasticsearch than the one it was developed for."

Regarding the Low Level Client, Elastic's documentation states that "it is compatible with all Elasticsearch versions". It is important to note that this compatibility refers to the Elasticsearch client only. Liferay conducts ad-hoc testing of the Elasticsearch connectors with minor releases of Elasticsearch to ensure that Liferay DXP features are also compatible with newer minor versions. As these minor releases sometimes introduce breaking changes, the Search Engine Compatibility Matrix is updated only after successful iterations.

**** The Java REST Client communicates with Elasticsearch over HTTP. This communication protocol does not require Java serialization between DXP and Elasticsearch as opposed to the previous Transport Client-based connectors. Your Elasticsearch nodes can run on different JVM than what your DXP deployment is using.

DXP 7.2

Name Availability Fix/Support Fix Delivery Method Elasticsearch Client Type Elasticsearch Client Lib Version* Communication Protocol Supports Secure Connection (TLS/SSL, user authentication) Compatible Elasticsearch Version** Operation Modes JVM Requirement***
Liferay Connector to Elasticsearch 6 Bundled (default) Fix Pack/Hotfix Transport Client (Java) 6.8.15 Transport level Yes, through the Liferay Enterprise Search Security (v3.x)**** 6.8.x EMBEDDED, REMOTE Yes
Liferay Connector to Elasticsearch 7 Marketplace (v3.x) Marketplace release/Hotfix LPKG Transport Client (Java) 7.9.0 Transport level Yes, out-of-the-box (doc) 7.9.x-7.15.x EMBEDDED, REMOTE Yes

 

* Refers to the client library versions the connector uses as dependencies at compile time. This also defines the version of the Elasticsearch server started in EMBEDDED mode when the portal first starts and the connector is not yet configured for REMOTE mode.

** Liferay conducts ad-hoc testing of the Elasticsearch connectors with minor releases of Elasticsearch. These minor releases sometimes introduce breaking changes at the low-level Java API. Therefore, both Liferay and Elastic recommend that the version of the server and the clients match. Elastic says:

"The client must have the same major version (e.g. 2.x, or 5.x) as the nodes in the cluster. Clients may connect to clusters which have a different minor version (e.g. 2.3.x) but it is possible that new functionality may not be supported. Ideally, the client should have the same version as the cluster."

*** The Transport Client relies on Java serialization. Because of this, the Major version and the Vendor of the JVM used by DXP and Elasticsearch must be the same. If Subscription Services' investigation determines that the root cause of the issue is related to a JDK mismatch, then Subscription Services will be limited in resolving the issue.

**** Requires Liferay Enterprise Search (LES) subscription. Liferay Connector to X-Pack Security [Elastic Stack 6.x] has been renamed to Liferay Enterprise Search Security in September, 2020.

 

DXP 7.1

Name Availability Fix/Support Fix Delivery Method Elasticsearch Client Type Elasticsearch Client Lib Version* Communication Protocol Supports Secure Connection (TLS/SSL, user authentication) Compatible Elasticsearch Version** Operation Modes JVM Requirement***
Liferay Connector to Elasticsearch 6 Bundled (default) Fix Pack/Hotfix Transport Client (Java) 6.8.6 Transport level Yes, through the Liferay Enterprise Search Security (v2.x)**** 6.8.x EMBEDDED, REMOTE Yes
Liferay Connector to Elasticsearch 7 Marketplace (v2.x) Marketplace release/Hotfix LPKG Transport Client (Java) 7.9.0 Transport level Yes, out-of-the-box (doc) 7.9.x-7.15.x EMBEDDED, REMOTE Yes

 

* Refers to the client library versions the connector uses as dependencies at compile time. This also defines the version of the Elasticsearch server started in EMBEDDED mode when the portal first starts and the connector is not yet configured for REMOTE mode.

** Liferay conducts ad-hoc testing of the Elasticsearch connectors with minor releases of Elasticsearch. These minor releases sometimes introduce breaking changes at the low-level Java API. Therefore, both Liferay and Elastic recommend that the version of the server and the clients match. Elastic says:

"The client must have the same major version (e.g. 2.x, or 5.x) as the nodes in the cluster. Clients may connect to clusters which have a different minor version (e.g. 2.3.x) but it is possible that new functionality may not be supported. Ideally, the client should have the same version as the cluster."

*** The Transport Client relies on Java serialization. Because of this, the Major version and the Vendor of the JVM used by DXP and Elasticsearch must be the same. If Subscription Services' investigation determines that the root cause of the issue is related to a JVM mismatch, then Subscription Services will be limited in resolving the issue.

**** Requires Liferay Enterprise Search (LES) subscription. Liferay Connector to X-Pack Security [Elastic Stack 6.x] has been renamed to Liferay Enterprise Search Security in September, 2020.

 

DXP 7.0

Name Availability Fix/Support Fix Delivery Method Elasticsearch Client Type Elasticsearch Client Lib Version* Communication Protocol Supports Secure Connection (TLS/SSL, user authentication) Compatible Elasticsearch Version** Operation Modes JVM Requirement***
Liferay Portal Search Elasticsearch Bundled (default) Fix Pack/Hotfix Transport Client (Java) 2.4.0 Transport level Yes, through the Shield plugin**** 2.4.x EMBEDDED, REMOTE Yes
Liferay Connector to Elasticsearch 6 Marketplace (v1.x) Marketplace release/Hotfix LPKG Transport Client (Java) 6.8.15 Transport level Yes, through the Liferay Enterprise Search Security (v1.x)**** 6.8.x EMBEDDED, REMOTE Yes

 

* Refers to the client library versions the connector uses as dependencies at compile time. This also defines the version of the Elasticsearch server started in EMBEDDED mode when the portal first starts and the connector is not yet configured for REMOTE mode.

** Liferay conducts ad-hoc testing of the Elasticsearch connectors with minor releases of Elasticsearch. These minor releases sometimes introduce breaking changes at the low-level Java API. Therefore, both Liferay and Elastic recommend that the version of the server and the clients match. Elastic says:

"The client must have the same major version (e.g. 2.x, or 5.x) as the nodes in the cluster. Clients may connect to clusters which have a different minor version (e.g. 2.3.x) but it is possible that new functionality may not be supported. Ideally, the client should have the same version as the cluster."

*** The Transport Client relies on Java serialization. Because of this, the Major version and the Vendor of the JVM used by DXP and Elasticsearch must be the same. If Subscription Services' investigation determines that the root cause of the issue is related to a JDK mismatch, then Subscription Services will be limited in resolving the issue.

**** Requires Liferay Enterprise Search (LES) subscription. Liferay Connector to X-Pack Security [Elastic Stack 6.x] has been renamed to Liferay Enterprise Search Security in September, 2020.

 


* Elastic, Elasticsearch, and X-Pack are trademarks of Elasticsearch BV, registered in the U.S. and in other countries.

Este artigo foi útil?
Utilizadores que acharam útil: 0 de 1