Search Engine setup
GeoCat Find 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 GeoCat Find.
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 GeoCat Find no configuration is required in GeoCat Find.
For reference these defaults are:
- Host: localhost
- Port: 9200
To define the connection to Elasticsearch the following environmental variables should be defined:
GEONETWORK_ES_HOST: Server name or IP where Elasticsearch is installed.GEONETWORK_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
Elasticsearch 8.19.13 is configured with security enabled by default. See details in https://www.elastic.co/guide/en/elasticsearch/reference/8.19/configuring-stack-security.html-
To configure GeoNetwork with the credentials used to access your Elasticsearch service:
GEONETWORK_ES_USERNAME: Elasticsearch username.GEONETWORK_ES_PASSWORD: Elasticsearch user password.GEONETWORK_ES_PROTOCOL: Protocol used in Elasticsearch, defaults tohttp. If you enable security in Elasticsearch and usehttpsprotocol, additional configuration is required, please refer to https://www.elastic.co/guide/en/elasticsearch/reference/8.19/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:
Disable Elasticsearch security
To disable security in Elasticsearch, you can set the following environment variables:
export xpack.security.enabled=false
export xpack.security.enrollment.enabled=false
export xpack.security.transport.ssl.enabled=false
export xpack.security.http.ssl.enabled=false
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 GeoCat Find:
ELASTICSEARCH_URL: The primary URL of the Elasticsearch instance.SERVER_BASEPATH: The server path of GeoCat Find in the server container, including the dashboards end-point. It should have the format/APPNAME/dashboards, whereAPPNAMEis the path where GeoCat Find 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.