Connecting Elasticsearch to a blockchain node

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.
1
# Space-separated list of plugins to activate
2
plugins = elasticsearch es_objects
Copied!
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.
1
# Elastic Search database node url(http://localhost:9200/)
2
elasticsearch-node-url = <ES-ENDPOINT>
Copied!
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.
1
# Elasticsearch node url(http://localhost:9200/)
2
es-objects-elasticsearch-url = <ES-ENDPOINT>
Copied!

Start the witness node

Start the witness node to being pushing indexes to Elasticsearch. The beginning few logs should show the Elasticsearch plugins started:
1
572387ms th_a elasticsearch_plugin.cpp:516 plugin_startup ] elasticsearch ACCOUNT HISTORY: plugin_startup() begin
2
572387ms th_a application.cpp:1235 startup_plugins ] Plugin elasticsearch started
3
572395ms th_a es_objects.cpp:405 plugin_startup ] elasticsearch OBJECTS: plugin_startup() begin
4
572395ms th_a application.cpp:1235 startup_plugins ] Plugin es_objects started ...
5
6
575659ms th_a es_objects.cpp:82 genesis
Copied!

Basic Checks

You can check the indexes created after the witness start with the next call:
1
$ curl -X GET '<ES-ENDPOINT>/_cat/indices'
2
yellow open ppobjects-asset vnF2F0BMSKKNxQfu013OCQ 1 1 2 0 12.4kb 12.4kb
3
yellow open ppobjects-balance 3psSvHIeRC-fKHyqP2Legg 1 1 1 0 5.9kb 5.9kb
4
yellow open ppobjects-account zQ7uv01ESEeqCED3WHmmxg 1 1 21 0 42.4kb 42.4kb
Copied!
You can also get index search data with:
1
curl -X GET '<ES-ENDPOINT>/peerplays-*/data/_search?pretty=true' -H 'Content-Type: application/json'
Copied!
Last modified 8mo ago