提问:布和纸怕什么?

java client 和 http restful 底层实现是一样的么?哪个更好一些呢

Elasticsearch | 作者 Eilikce | 发布于2016年10月13日 | 阅读数:4781

java client 和 http restful 底层实现是一样的么?效率哪个更好些?
项目一直在使用http的端口去请求Elasticsearch数据,现在想换成使用java client去连接Elasticsearch请求数据,尝试提高性能。
但是很疑惑是不是java client底层也是使用的和http端口一样的方式去请求Elasticsearch的,本质是不是一样的。。
有朋友研究过这方面吗~?
多谢指教~
已邀请:

weizijun - elasticsearch fan

赞同来自: leighton_buaa

可以参考这篇blog:https://www.elastic.co/blog/be ... lient

leighton_buaa

赞同来自:

个人认为java client应该是在restful上封装了一层吧,更便于开发人员的使用
可以下载下来client的源码研究一下看看

Xargin

赞同来自:

只看过golang版的client。。其实也只是比你用restful接口多了一步json序列化
这个序列化的成本你也接受不了么。。

medcl - 今晚打老虎。

赞同来自:

目前 es 已经提供了 java 版的 rest client,使用的是 http 协议,这样可以解耦对 es 版本的依赖,性能和 transportclient 是不相上下的,建议使用。

weizijun - elasticsearch fan

赞同来自:

java client当然是效率最高的,直接走的es协议, http restful走的是http协议,协议层会有更多消耗,而且目前只有java才有es协议的sdk,其他语言都是走的http restful,性能的话,不同语言的实现也各异

flowaters

赞同来自:

我们两个都用过,区别不大,这块儿不会是性能瓶颈。

要回复问题请先登录注册