我有一个利用Elasticsearch的webapp应用。我使用Elasticsearch独立服务器和webapp端的传输客户端进行通信。
目前,我在pom.xml中包含了org.elasticsearch:elasticsearch:jar:1.3.4依赖项,一切工作正常。关键是,这个依赖加上传递式的总和是20MB,这是荒谬的。我只想使用传输客户端。
有没有更轻量级的客户端依赖?永远都不会是吗?(我不想在REST API中使用jest或httpclient )。
发布于 2014-11-06 17:21:57
你可能正在寻找Elasticsearch Thrift。thrift传输插件允许在HTTP之上使用REST接口而不是thrift。
这是一个轻量级的客户端,jar大约在100KB左右,您还需要apache thrift jar库,它大约在3.4MB左右:
您可以将以下内容添加到Maven依赖项中:
用于Elasticsearch-Thrift
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch-transport-thrift</artifactId>
<version>2.4.0</version>
</dependency>对于Apache-Thrift依赖关系:
<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>0.9.0</version>
</dependency>我相信你能够根据你的elasticsearch集群版本找到你需要使用的版本。
有关elasticsearch-thrift的更多信息,请查看github project page。
检查apache Thrift的official page以获取thrift。
编辑:请记住,根据github项目页面,自Elasticsearch v1.5.0起,节俭传输已被弃用,并将在2.0中删除。
发布于 2020-12-31 23:26:25
自从这个问题被问到(2014)以来,发生了很多开发,Elasticsearch deprecated the transport client支持他们的official Java high level rest client,这是现在的首选和事实,而且JEST中的新开发也停止了,它不再支持ES的新版本。
https://stackoverflow.com/questions/26774480
复制相似问题