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 Wikipedia 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.
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.
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.
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