This Elastica transport class allows CirrusSearch to work with elasticsearch 6.8.23 while using ruflin/Elastica 7.1.5. It can be enabled like this:
$wgCirrusSearchClusters = [ [ 'transport' => [ "type" => \CirrusSearch\Elastica\ES6CompatTransportWrapper::class, 'wrapped_transport' => 'Http' ], "port" => 9200, "host" => "elasticsearch_hostname" ] ];
This mainly allows writes to be properly applied. It was used on the WMF infrastucture to allow a zero-downtime upgrade migration plan. It is strongly advised to upgrade to elasticsearch 7.10.2 rather than using this compatibility layer.