Elasticsearch Java Low Level REST Client(入门)

Java Low Level REST Client 入门

本节描述从获取工件到在应用程序中使用它如何开始使用低级别REST客户端。html

Javadoc

能够在https://artifacts.elastic.co/javadoc/org/elasticsearch/client/elasticsearch-rest-client/6.4.2/index.html找到低级别REST客户端的javadoc。java

Maven仓库

低级别Java REST客户端托管在Maven Central上,所需的最低Java版本是1.7git

低级别REST客户端与Elasticsearch具备相同的发布周期,将版本替换为想要的客户端版本,首先使用5.0.0-alpha4发布版,客户端版本与客户端能够与之通讯的Elasticsearch版本之间没有任何关系,低级别REST客户端与全部Elasticsearch版本兼容。github

若是你正在寻找SNAPSHOT版本,能够经过https://snapshots.elastic.co/maven/获取Elastic Maven Snapshot存储库。apache

Maven配置

如下是如何使用maven做为依赖关系管理器来配置依赖关系,将如下内容添加到pom.xml文件中:segmentfault

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-client</artifactId>
    <version>6.4.2</version>
</dependency>

Gradle配置

如下是使用gradle做为依赖关系管理器配置依赖关系的方法,将如下内容添加到build.gradle文件中:后端

dependencies {
    compile 'org.elasticsearch.client:elasticsearch-rest-client:6.4.2'
}

依赖关系

低级别的Java REST客户端内部使用Apache Http Async Client发送Http请求,它依赖于如下构件,即异步http客户端及其自身传递依赖关系:异步

  • org.apache.httpcomponents:httpasyncclient
  • org.apache.httpcomponents:httpcore-nio
  • org.apache.httpcomponents:httpclient
  • org.apache.httpcomponents:httpcore
  • commons-codec:commons-codec
  • ommons-logging:commons-logging

Shading

为了不版本冲突,能够在单个JAR文件(有时称为“uber JAR”或“fat JAR”)中对依赖关系进行shaded并打包在客户端中,Shading依赖项包括获取其内容(资源文件和Java类文件)并重命名其某些包,而后将它们放入与低级别Java REST客户端相同的JAR文件中,能够经过Gradle和Maven的第三方插件来完成对JAR的Shading。async

请注意,对JAR进行shading也会产生影响,例如,对Commons Logging图层进行Shading意味着第三方日志记录后端也须要shaded。elasticsearch

Maven配置

这是使用Maven Shade插件的配置,将如下内容添加到pom.xml文件中:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals><goal>shade</goal></goals>
                    <configuration>
                        <relocations>
                            <relocation>
                                <pattern>org.apache.http</pattern>
                                <shadedPattern>hidden.org.apache.http</shadedPattern>
                            </relocation>
                            <relocation>
                                <pattern>org.apache.logging</pattern>
                                <shadedPattern>hidden.org.apache.logging</shadedPattern>
                            </relocation>
                            <relocation>
                                <pattern>org.apache.commons.codec</pattern>
                                <shadedPattern>hidden.org.apache.commons.codec</shadedPattern>
                            </relocation>
                            <relocation>
                                <pattern>org.apache.commons.logging</pattern>
                                <shadedPattern>hidden.org.apache.commons.logging</shadedPattern>
                            </relocation>
                        </relocations>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

Gradle配置

这是使用Gradle ShadowJar插件的配置,将如下内容添加到build.gradle文件中:

shadowJar {
    relocate 'org.apache.http', 'hidden.org.apache.http'
    relocate 'org.apache.logging', 'hidden.org.apache.logging'
    relocate 'org.apache.commons.codec', 'hidden.org.apache.commons.codec'
    relocate 'org.apache.commons.logging', 'hidden.org.apache.commons.logging'
}

上一篇:Elasticsearch Java REST Client 目录

下一篇:初始化

相关文章
相关标签/搜索