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 目錄

下一篇:初始化

相關文章
相關標籤/搜索