One moment please...
 
 
Exact Synergy Enterprise   
 

How-to: Installing and configuring Elasticsearch

Introduction

This document describes the installation and configuration of Elasticsearch, which are recommended to be performed by a consultant. This document contains the following sections:

Requirements

  • Java Virtual machine (JVM) is installed. Version 17 is recommended.
  • A memory of not more than 64GB.

Return to top

Installing Elasticsearch

There are two ways to install Elasticsearch. You can perform a standard installation during the installation or update of Exact Synergy Exact Enterprise product update 260 or higher. To install Elasticsearch on multiple servers, you will have to perform the installation and configuration manually.

Standard installation

When installing or updating Exact Synergy Enterprise product update 260 or higher, a message will be displayed for you to indicate whether you want to install Elasticsearch. By installing Elasticsearch, the default single-node Elasticsearch is installed on the web server where the update or installation is performed. For security reasons, the installed Elasticsearch mode can only connect to the web server locally. When Exact Synergy Enterprise is running on a web server farm, it is recommended to set up Elasticsearch with multiple nodes for better performance. For more information on the manual set up of Elasticsearch clustering, see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html.

Note: If you are already using Elasticsearch for searching with the All option (see How-to: Installing and configuring Search All feature), it is not necessary to reinstall Elasticsearch for searching the feeds. In this case, the message is not displayed during the update or installation and you can continue to index the existing feeds.

Manual installation

Note: It is recommended to install Elasticsearch on a separate server.

  1. Download the elasticsearch-7.17.0 zip file.
  2. Unzip the file, preferably to a directory that can be easily accessed due to command line interactions.
  3. Change the names of the cluster and node for the Elasticsearch node by going to the installation directory of Elasticsearch. This step is recommended to avoid any replication of indexes and data if there is another Elasticsearch with the same name running on the network.
  4. Open the config folder, and then open the elasticsearch.yml configuration file with Notepad. See the following example on the naming of the cluster and node:
  5. Start the Elasticsearch service. This can be performed via the command prompt or through a Windows service. By using the command prompt, you must manually start Elasticsearch every time you restart your PC. Hence, it is recommended to perform this via a Windows service, so that Elasticsearch can be started automatically when you restart your PC.
  6. a.Via command prompt

    • Go to the Windows command prompt.
    • Go to the installation folder where you have unzipped the file.
    • Run “bin\elasticsearch.bat”.
    • Elasticsearch has now started and the window should remain open.
    • Note: If the message “JAVA_HOME environment variable must be set!” is displayed, you will have to first set the environment. For more information, see How-to: Setting JAVA_HOME environment variable.

    b.Via Windows service

    • Go to the Windows command prompt.
    • Go to the installation folder where you have unzipped the file.
    • Run “elasticsearchservice.bat install”.
    • The service will be installed. Once completed, the window can be closed. You can go to Windows Administrative Tools ? Services to check if the Elasticsearch service has started.
    • Customize the properties of the service so that it will automatically start when Windows starts.
    • Note: If the message “JAVA_HOME environment variable must be set!” is displayed, you will have to first set the environment. For more information, see How-to: Setting JAVA_HOME environment variable.

  7. Make sure the system is running Elasticsearch. To do so, open a browser (preferably Chrome) and type the URL of the Elasticsearch installation, including port 9200. For example: “http://domain.com:9200”. The search engine will return the following result:

Return to top

Installing Ingest-attachment

  1. Go to the Windows command prompt (as an administrator).
  2. Run “c:\elasticsearch-7.17.0\bin>elasticsearch-plugin install ingest-attachment”.
  3. Type "Y" to continue with the installation.

Note: If you are performing the ElasticSearch service via the command prompt, you need to run the “bin\elasticsearch.bat” command again after the installation. Whereas, if you are performing the service via the Windows service, you will need to restart the Windows service to ensure the ingest attachment is used.

Return to top

Migrating from version 6.6.2 to version 7.17.0

  1. Create an instance on a new service or server for the new ElasticSearch version.
  2. Perform the installation of the new version in the machine.
  3. Run the Exact.Search.Tool.exe application with the existing ElasticSearch URL.
  4. In the application, click on the Settings Editor tab, and then export the settings.
  5. Next, click the Synonyms tab and copy the existing synonyms into a document file.
  6. Click the Noise words tab and copy the noise words into a document file.
  7. Click the Home tab and under the Server info section, click Change to change the existing ElasticSearchURL to the URL of the new version to rebuild the index.
  8. Click the Settings Editor tab, and then import the settings that were previously exported.
  9. Click the Synonyms tab and copy the existing synonyms from the document file.
  10. Click the Noise words tab and copy the existing synonyms from the document file.
  11. Upon completion, in Exact Synergy Enterprise, go to Modules ? System ? Setup ? Settings - General ? All.
  12. Update the ElasticSearchURL setting to the new version.
  13. Perform IISreset on the Exact Synergy Enterprise server.
  14. Decommission the service or server of the old ElasticSearch version.

For more information, see Exact search tool help file.

Return to top

Indexing existing feeds

After Elasticsearch is installed, new feeds (posts and comments in the timeline) are automatically indexed and can be searched using the Feeds option, available in the search box at the top menu of your Exact Synergy Enterprise. To ensure that the existing feeds can also be found, you have to index them once.

The following steps describe the process of indexing.

  1. Go to the installation directory of your ESE, and then open the bin folder.
  2. Run the Exact.Search.Tool.exe file.
  3. In the displayed screen, connect to the SQL server by typing the server name, the database of your ESE, your username, and password, and then clicking Connect. Note that the information provided (excluding the password) will be remembered when you start up the tool again the next time. Once the connection is established, the Home tab will be displayed by default.
  4. Click the Elasticsearch tab on the left panel to display a list of supported entities in ESE which you can load into Elasticsearch.
  5. Select the Feeds check box.
    Note: Other options and tabs are not relevant when using Elasticsearch to search for feeds. For more information about other settings in this screen, see Exact search tool help file.
  6. Click Create. An indicator will be displayed in the screen to show the creation progress.
  7. Once the process is completed, click Thanks!.

Note: It may take some time to create the indexed data.

Return to top

Security

ESE has a complex security model and it is recommended to limit the access to the Elasticsearch servers. The connection from ESE to Elasticsearch makes use of the Elasticsearch REST API on port 9200. Elasticsearch can function also as a cluster (for more information, see the Disaster recovery section). In this case, port 9300 is used for communication between the Elasticsearch nodes.

Two methods can be used to limit access to the Elasticsearch:

  1. Put the Elasticsearch nodes in a separate VLAN and only allow the Synergy Application to connect to that VLAN on port 9200, preferably through a load balancer to achieve high availability.
  2. Using Windows Firewall, implement a set of firewall rules on the servers where Elasticsearch is running. In this case, all traffic should be blocked, except traffic originating from the ESE application on port 9200. The same needs to be done between the ELIS server and Elasticsearch server.

Note: Port 9300 should be opened for communication between the Elasticsearch nodes.

Verify that the Elasticsearch server is only accessible from the ESE server. You can do this by contacting the Elasticsearch server from the Internet browser and see if you get a response back. On the internet browser, go to http://<Elasticsearch>:9200 and if the firewall is still open, you will receive the following message:

{
"name" : "MYC1DSYN4137",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "fdGmx0tkQpu3F_wTznaNew",
"version" : {
"number" : "7.17.0",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "bee86328705acaa9a6daede7140defd4d9ec56bd",
"build_date" : "2022-01-28T08:36:04.875279988Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compa6tibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}

This message indicates that the Elasticsearch server is still accessible and you will have to take steps to restrict the access.

Return to top

Disaster recovery

In case of a disaster where the Elasticsearch database is corrupted or an Elasticsearch node is no longer available, there are two possible scenarios to perform a disaster recovery:

  1. Use one node for Elasticsearch — If the Elasticsearch database is corrupted, the database has to be completely rebuilt. Follow the same procedures for the disaster recovery, as if it is a new setup.
  2. Use at least three nodes for Elasticsearch — Elasticsearch can also handle the disaster recovery when using three or more nodes. This scenario requires an additional configuration. For more information, see https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html#split-brain.

Note: In case of a disaster, using an Elasticsearch cluster with two nodes does not add any value as this is the same as using just one node.

Return to top

     
 Main Category: Attachments & notes  Document Type: Online help main
 Category:  Security  level: All - 0
 Sub category:  Document ID: 28.132.311
 Assortment:  Date: 31-05-2022
 Release:  Attachment:
 Disclaimer