@eugene what data rae you looking to route into elastic? Creating a history provider is fairly trivial. The eventual complexities we saw were the various routing logic for the all the history event classes, as there was differences in logic and fields that needed to be accounted for + to deal with consolidated documents for proper query performance + event updates (Create, Update, Delete) + dealing with indexes for Variables do to variable type differences for History Variable classes, where the “Type” field might be a String with a value of any of the camunda variable types, and the “value” field would be a different data type for each variable type (string). In the Camunda DB they deal with this by having many columns, but obviously this does not translate over into Elastic, and thus data manipulations were needed.
We have found through use that many of the reporting use cases can be resolved with tooling such as Prometheus Metrics: Business purposed process engine plugin, which is much easier to use, and gives you a better Reporting UI (Grafana, and with grafana you can also directly query MySQL if you wanted (aka query the Camunda DB).