Elasticsearch客户端maven依赖项

yan*_*isf 6 java maven elasticsearch

我有一个利用Elasticsearch的webapp.我使用Elasticsearch独立服务器,并从webapp端使用传输客户端进行通信.

目前我org.elasticsearch:elasticsearch:jar:1.3.4在我的包含依赖pom.xml,一切正常.关键在于这种依赖性和传递性总计达到20MB,这是荒谬的.我只想使用传输客户端.

是否有更轻量级的客户端依赖?将永远是一个?(我不想使用jest或httpclientREST API).

eli*_*sah 0

您可能正在寻找 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>
Run Code Online (Sandbox Code Playgroud)

对于 Apache-Thrift 依赖项:

<dependency>
    <groupId>org.apache.thrift</groupId>
    <artifactId>libthrift</artifactId>
    <version>0.9.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我相信您将能够根据您的 Elasticsearch 集群版本找到您需要使用的版本。

有关 elasticsearch-thrift 的更多信息,请查看github 项目页面

并检查 apache Thrift官方页面上的 Thrift。

编辑:请记住,根据 github 项目页面,Thrift 传输从 Elasticsearch v1.5.0 开始已被弃用,并将在 2.0 中删除。

  • 我7个月前就回答过这个问题了。路线图尚不清楚。我当时给出的解决方案是可行的、正确的。如果您不介意,我会将您的评论添加到答案中 (2认同)