Search Engine setup
GeoNetwork Enterprise uses ElasticSearch as a search engine for metadata content. See how to install Elasticsearch.
This section describes the setup required to integrate Elasticsearch and Kibana with GeoNetwork Enterprise.
Elasticsearch Setup
Geonetwork Elasticsearch Location
To configure GeoNetwork with the location of your Elasticsearch service:
When Elasticsearch is executed with the default configuration, in the same server as GeoNetwork Enterprise no configuration is required in GeoNetwork Enterprise.
For reference these defaults are:
ES_HOST
: localhostES_PORT
: 9200
To define the connection to Elasticsearch the following environmental variables should be defined:
ES_HOST
: Server name or IP where Elasticsearch is installed.ES_PORT
: Elasticsearch port, defaults to9200
.
Example setenv.sh
configuration, running Elasticsearch in a server named elasticsearch
with a non-default port (9205
) and http
protocol:
An alternative method to configure the connections is to use Java System Properties, adding to JAVA_OPTS
the following parameters:
-Dgeonetwork.es.host
-Dgeonetwork.es.port
Example setenv.sh
configuration, running Elasticsearch in a server named elasticsearch
with a non-default port (9205
) and http
protocol:
GeoNetwork Elasticsearch Security
To configure GeoNetwork with the credentials used to access your Elasticsearch service:
To configure Elasticsearch is configured with security enabled (https://www.elastic.co/guide/en/elasticsearch/reference/7.17/configuring-stack-security.html) you need to configure the user credentials used to access the service.
No security required.
ES_USERNAME
: Elasticsearch username.ES_PASSWORD
: Elasticsearch user password.ES_PROTOCOL
: Protocol used in Elasticsearch, defaults tohttp
. If you enable security in Elasticsearch and usehttps
protocol, additional configuration is required, please refer to https://www.elastic.co/guide/en/elasticsearch/reference/7.17/security-basic-setup-https.html
Example configuration, running Elasticsearch in a server named elasticsearch
, with security enabled, providing the credentials and with the default port and protocol:
An alternative method to configure the connections is to use Java System Properties, adding to JAVA_OPTS
the following parameters:
-Dgeonetwork.es.username
-Dgeonetwork.es.password
-Dgeonetwork.es.protocol
Example configuration, running Elasticsearch in a server named elasticsearch
with a non-default port (9205
) and http protocol:
Kibana Setup
Recommended: Kibana provides a dashboard for the Elasticsearch service. This dashboard is required to run analytics on GeoNetwork use.
Kibana service configuration
To configure Kibana service for use with GeoNetwork user interface.
In the Kibana server define the following environmental variables to access the Kibana dashboards from GeoNetwork Enterprise:
ELASTICSEARCH_URL
: The primary URL of the Elasticsearch instance.SERVER_BASEPATH
: The server path of GeoNetwork Enterprise in the server container, including the dashboards end-point. It should have the format/APPNAME/dashboards
, whereAPPNAME
is the path where GeoNetwork Enterprise is deployed in the servlet container.
Example configuration, running Elasticsearch in a server named elasticsearch
and with GeoNetwork deployed in /geonetwork
path in the servlet container.
GeoNetwork Kibana Location
To configure GeoNetwork to use Kibana dashaboard.
By default it is assumed Kibana is running on the same server as GeoNetwork.