Creating a river plugin
In Chapter 8, Rivers, we have seen how powerful the river plugin is. It allows populating an ElasticSearch cluster from different sources (DBMS, NoSQL system, streams, and so on).
Creating a custom river is generally required if you need to add a new NoSQL data source that is not supported by the already existing plugins, add a new stream type, or add a custom business logic for importing data in ElasticSearch such as fields modification, data aggregation, and, in general, data brewery.
In this recipe we will see a simple river that generates documents with a field containing an incremental value.
Getting ready
You need a working ElasticSearch node, a Maven built tool, and an optional Java IDE. The code of this recipe is available in the chapter12/river_plugin
directory.
How to do it...
To create a river plugin we need atleast the following classes:
- The plugin that registers a river module
- A river module that registers our river
- The river that executes our business logic
We...