官方已经建议用REST,而 TransportClient 在7.0 开始废弃,在8.0版本移除. 详情请见:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/client.html
以下为使用2.3.X的个人经验
JAVA API 使用的netty协议TransportClient 端口9300 性能好 上手麻烦,需熟悉API和ES DSL,适合大量频繁数据查询
JAVA REST Client使用http协议 端口9200 上手简单,懂ES DSL查询即可
Rest API使用了HTTP协议,调用比较困难。Rest API的核心是url和post数据,url直接需传入字符串,这样就不能使用IDE的查错功能。需要记忆的东西太多,不确定时就要去查API,影响开发效率。