Enabling Elasticsearch on a Node

What is Elasticsearch?

Elasticsearch is a free search engine used for finding and indexing schema-free JSON documents. This makes viewing large data stores fast and simple. For our purposes, Elasticsearch is most useful for full nodes which host all account histories on the blockchain.

For more information, see the Elasticsearch Wikipediaarrow-up-right page.

Enabling Elasticsearch on a Node

Elasticsearch is already installed along with the Witness node. There's no need to do any install for Elasticsearch. You just have to set up the config to enable its use.

Enabling Elasticsearch is as simple as editing the node config file. First you'll add the Elasticsearch plugins to the list of active plugins. Then you'll add the Elasticsearch URL to a couple of options within the config.

Editing the configuration for Elasticsearch

Inside ./witness_node_data_dir/config.ini edit the following:

Uncomment plugins = and add the elasticsearch and es_object plugins.

# Space-separated list of plugins to activate 
plugins = elasticsearch es_objects

Uncomment elasticsearch-node-url = and add the Endpoint URL for your Elasticsearch instance.

Make sure to keep the trailing slash at the end of the URL.

# Elastic Search database node url(http://localhost:9200/) 
elasticsearch-node-url = <ES-ENDPOINT>
circle-info

Unless you makes some custom changes to the Elasticsearch configuration, the endpoint url is going to be http://localhost:9200/. So your config in this case will be:elasticsearch-node-url = http://localhost:9200/

Uncomment es-objects-elasticsearch-url = and add the Endpoint URL for your Elasticsearch instance.

Make sure to keep the trailing slash at the end of the URL.

circle-info

Like the last one, unless you make some changes to your Elasticsearch config, the endpoint url is going to be http://localhost:9200/. So your config in this case will be:es-objects-elasticsearch-url = http://localhost:9200/

Start the witness node

Start the witness node to being pushing indexes to Elasticsearch. The beginning few logs should show the Elasticsearch plugins started:

Basic Checks

You can check the indexes created after the witness start with the next call:

You can also get index search data with:

Last updated

Was this helpful?