Java 1.7.1 client against 2.3.2 ES?

I know that it's strongly recommended that you keep the client version sync'd up with the server version, but there are a LOT of breaking changes when generating queries that used filters in 1.7 in 2.3. We're working on rewriting those, but we also don't want to delay our upgrade on the server-side significantly as we work through that rewrite and testing.

Should a 1.7.1 Java client work ok against a 2.3.2 server? Are the filters are still supported for backwards compatibility but deprecated, to be removed in 5.0?

My initial testing has not gone well, as I can't even seem to get a connection (getting NoNodeAvailableException), but that may be more networking related.


No. The binary clients will never work between major versions because we take major versions to make breaking changes to the binary protocol. Elasticsearch 5.0 is getting an HTTP client which ought to be able to work across versions, but the binary clients just have no chance.

That's a bummer. Means that all queries have to be rewritten if I want to generate them programmatically.

Is there any way to use the 2.3.2 client in a way that supports the "old" filtered queries? Are they even supported in 2.3.2? I thought that they were but perhaps I'm mistaken on that as well..