About the Elasticsearch feature

In version 8.0, the Akana API Platform moved from Compass to Elasticsearch for managing the search feature.

Elasticsearch is a Lucene-based search engine. It is an extremely popular tool in very broad use—a scalable search solution that uses JSON messaging over an HTTP interface with a native Java API.

The platform provides several options for implementation flexibility. Elasticsearch can start in an embedded mode, or remotely to the Java process in either a distributed mode or a single-node mode.

With the Embedded Elasticsearch Container feature, Elasticsearch runs within the container process, and supports all the features that a standalone Elasticsearch process would support without the need for a separate server or Elasticsearch product installation.

NOTE: In version 2018.0.0, Elasticsearch embedded mode is no longer supported. It's best to move to Transport Client mode if you're on 8.4x, or to upgrade to 2018.0.0 and use REST Client mode.

You can install this feature in more than one container and have the containers act as a cluster. In this scenario, the administration activities to start and stop the process are as per the container management processes.

Administration of Elasticsearch is done with the configuration wizard in the Akana Administration Console.

Planning your Elasticsearch feature

As part of planning your installation, you'll need to make some decisions about how you want to set up the Elasticsearch feature.

For example, unless you have your own Elasticsearch server, you’ll need to decide whether you want to install the feature on a single container or on multiple containers that can act as a cluster.

Note: If you don’t have your own external Elasticsearch servers and are just using Elasticsearch as part of the platform upgrade, you don’t need to do any custom configuration, just install the Akana Embedded Elasticsearch Node feature and accept the default settings. See How do I configure Elasticsearch? (Akana API Platform Site Admin help).

If you have your own Elasticsearch server, there's no need to install the Akana Embedded Elasticsearch Node feature.

Installation instructions: Embedded Mode

In this scenario, you don't have to do anything with regard to the Configure Elasticsearch Global Configuration step. When you install the Akana Embedded Elasticsearch Node feature, the platform populates details about the Elasticsearch node, such as default node name and port number.

All you have to do is complete the configuration (Configure Elasticsearch Embedded Node step).

This section includes installation and configuration information for two scenarios:

In versions 8.2 and later, as part of installation, the platform retrieves appropriate values and pre-fills the settings. All you need to do is review the default configuration values and click Finish. You can change the Network Bind Address and other values as needed. In earlier versions, you must provide all values. For information on the settings, refer to the Site Admin help (see link above). Note:

Name: the installation creates the node name.

Transport Port: the platform pre-fills a value. Make sure that the default port is available, or change the value to an available port. You can also delete the existing entry and save; the platform retrieves the next available port. For information about default port numbers, see What are the default ports for Elasticsearch configuration? (Site Admin help).

HTTP Port: same as for Transport Port above.

Note: Each cluster must have at least one data node and at least one master eligible node.

Installation:

If you have a multiple container scenario to support Elasticsearch, install these features in all PM and CM containers:

Akana Embedded Elasticsearch Node feature: install it on all CM and PM containers.

Scheduled jobs: On all PM and CM containers, install both these features:

Akana Community Manager Scheduled Jobs

Akana Scheduled Jobs

Configuration:

Optional: In the Akana Administration Console for the CM container, go to Configuration > Configuration Actions > Configure Elasticsearch Global Configuration. Here, you can review the settings, but it's not necessary. Nothing is needed.

To configure the Elasticsearch global settings

After installing the product, in the Akana Administration Console, go to Configuration > Configuration Actions > Configure Elasticsearch Global Configuration. The fields are blank, as shown below. When you choose the deployment mode, additional fields appear.

In the Deployment Mode field, choose Transport Client.

In the Cluster Name field, specify a cluster name.

In the ES Server URL field, specify the full URL for the Elasticsearch server.

Click Finish.

Client-Only mode

Client-only mode is used when a container running the embedded Elasticsearch feature becomes a node as part of an external standalone Elasticsearch server. The node will be in the cluster, but will not be a master node. When you choose this option, additional fields are available as shown below:

Specify these values:

Cluster Name: specify a cluster name.

Master Host URL: The URL for the master host that this is a client for.