I have successfully moved our Zabbix server v4.0.3 to Elasticsearch v7.2.1, using slight modifications to the official Zabbix documentation for Elasticsearch setup, and a minor change to the Frontend CHistoryManager.php source.
Required change to curl commands for creating mappings/index-templates:
The request parameter "include_type_name" must be added to the url, due to the deprecation of "types" in v7 (reference: https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-put-mapping.html)
Required changes to PHP front-end for graph rendering:
The file 'CHistoryManager.php' is currently using a method deprecated in the Elasticsearch Painless API
The supported alternative method is:
(the actual diff is attached to this ticket)
I don't know if that change would be backwards compatible – it seems possible given the change is to use Java methods, but I have no way to test at this time.
As far as I can tell, everything is working as expected with no other changes.