There's a "native" client for Java. Native as in being developed by the ElasticSearch project. There seems to be at least two clients for PHP in the list of clients.
A Find index has a number of naming conventions which means we as developers don't have to create mappings ourselves which we otherwise would. Given you abide by those naming conventions, which currently isn't very documented but I'm sure that can be fixed, you should be able to use other clients as well as communicating directly with the REST API.
There are lots of clients for the elasticsearch REST protocoll (http://www.elasticsearch.org/guide/appendix/clients.html) that all should work well also with the Find backend. For php I know that some use https://github.com/nervetattoo/elasticsearch and if I would try a java client I would give https://github.com/searchbox-io/Jest a try.
Note: using the "native" elasticsearch java client is not supported as it uses the elasticsearch transport-layer protocol for communication and not the REST-API.
I thinking of suggesting Find as a Search service for a current project - where EPiServer sits of apart of a wider integration. Think CMS and e-commerce but not necessarily all EPiServer products, and not all on the .NET stack
Obviously Find is easily implemented with EPiServer (c#) and the user interface it provides to editors through the CMS Shell is a great selling point, but my question is: how easy is it to consume / integrate from another system. I know that its originally built on ElasticSearch and works over a REST protocol. Are there some good examples of java and php clients out there?