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.
- Download the elasticsearch-7.17.0
zip file.
- Unzip the file, preferably to a directory that can be easily accessed due to command line interactions.
- 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.
- 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:
- 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.
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.
- 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
- Go to the Windows command prompt (as an administrator).
- Run “c:\elasticsearch-7.17.0\bin>elasticsearch-plugin
install ingest-attachment”.
- 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
- Create an instance on a new
service or server for the new ElasticSearch version.
- Perform the installation of the
new version in the machine.
- Run the Exact.Search.Tool.exe application with the existing ElasticSearch URL.
- In the application, click on
the Settings Editor tab, and then export
the settings.
- Next, click the Synonyms tab and copy the existing
synonyms into a document file.
- Click the Noise words tab and copy the noise words into a document file.
- 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.
- Click the Settings Editor tab, and then import the settings that were
previously exported.
- Click the Synonyms tab and copy the existing synonyms from the document file.
- Click the Noise words tab and copy the existing synonyms from the document
file.
- Upon completion, in Exact
Synergy Enterprise, go to Modules ? System ? Setup ? Settings - General ? All.
- Update the ElasticSearchURL setting to the new version.
- Perform IISreset on the Exact
Synergy Enterprise server.
- 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.
- Go to the installation directory of your ESE, and then open the bin folder.
- Run the Exact.Search.Tool.exe file.
- 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.
- Click the Elasticsearch tab on the left panel to display a list of supported entities in ESE which you can load into Elasticsearch.
- 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.
- Click Create. An indicator will be displayed in the screen to show the creation progress.
- 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:
- 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.
- 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:
- 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.
- 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: |
Exact Synergy Enterprise
|
Date: |
31-05-2022 |
Release: |
|
Attachment: |
|
Disclaimer |
|
|