java访问elasticsearch使用java api还是直接使用http协议访问端口方式

java transport api提供了Query Builder来协助构建查询对象,而http则需要自己在代码里拼JSON DSL,从程序员角度来说, java transport api更显得更加友好,并且性能也要比http稍好。
 
但java transport api也有如下弊病:
1. 第三方依赖包比较多,如果应用还要集成其他一些框架和组件,容易产生依赖冲突,解决起来比较麻烦。 
2. client版本必须和ES服务端版本一致,否则容易产生兼容性问题。 
3. client端JAVA版本也需要和Server端保持一致,否则也可能产生兼容性问题。
4. client端的环境和版本需要和server端保持一致这个要求,使得client/server端运行环境强耦合,导致ES Server端很难独立升级。
 
官方的roadmap也指明,未来java transport api会被取消,建议使用rest client。

猜你喜欢

转载自blog.csdn.net/weixin_43075027/article/details/104556110