资讯专栏INFORMATION COLUMN

Elasticsearch Java High Level REST Client(入门)

honmaple / 3475人阅读

摘要:入门本节描述从获取工件到在应用程序中使用它如何开始使用高级别客户端。保证能够与运行在相同主版本和大于或等于的次要版本上的任何节点通信。与具有相同的发布周期,将版本替换为想要的客户端版本。

Java High Level REST Client 入门

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

兼容性

Java High Level REST Client需要Java 1.8,并依赖于Elasticsearch核心项目,客户端版本与客户端开发的Elasticsearch版本相同,它接受与TransportClient相同的请求参数,并返回相同的响应对象,如果需要将应用程序从TransportClient迁移到新的REST客户端,请参阅迁移指南。

High Level Client保证能够与运行在相同主版本和大于或等于的次要版本上的任何Elasticsearch节点通信。当它与Elasticsearch节点通信时,它不需要在同一个次要版本中,因为它是向前兼容的,这意味着它支持与Elasticsearch的更高的版本进行通信,而不是与其开发的版本进行通信。

6.0客户端能够与任何6.x Elasticsearch节点通信,而6.1客户端肯定能够与6.1,6.2和任何更高版本的6.x版本通信,但是,如果6.1客户端支持6.0节点不知道的某些API的新请求主体字段,则在与先前的Elasticsearch节点版本通信时可能存在不兼容问题,例如在6.1和6.0之间。

建议在将Elasticsearch集群升级到新的主要版本时升级High Level Client,因为REST API重要更改可能会导致意外结果,具体取决于请求命中的节点,并且只有较新版本的客户端才支持新添加的API,一旦集群中的所有节点都升级到新的主版本,客户端应该总是在最后更新。

Javadoc

可以在https://artifacts.elastic.co/javadoc/org/elasticsearch/client/elasticsearch-rest-high-level-client/6.4.2/index.html找到REST高级别客户端的javadoc。

Maven仓库

高级别Java REST客户端托管在Maven Central上,所需的最低Java版本为1.8

High Level REST Client与Elasticsearch具有相同的发布周期,将版本替换为想要的客户端版本。

如果你正在寻找SNAPSHOT版本,可以通过https://snapshots.elastic.co/maven/获取Elastic Maven Snapshot仓库。

Maven配置

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


    org.elasticsearch.client
    elasticsearch-rest-high-level-client
    6.4.2
Gradle配置

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

dependencies {
    compile "org.elasticsearch.client:elasticsearch-rest-high-level-client:6.4.2"
}
Lucene Snapshot仓库

任何主要版本(如测试版)的最新版本可能都是基于Lucene Snapshot版本构建的,在这种情况下,你将无法解析客户端的Lucene依赖关系。

例如,如果要使用依赖于Lucene 7.0.0-snapshot-00142c96.0.0-beta1版本,则必须定义以下存储库。

对于Maven:


    elastic-lucene-snapshots
    Elastic Lucene Snapshots
    http://s3.amazonaws.com/download.elasticsearch.org/lucenesnapshots/00142c9
    true
    false

对于Gradle:

maven {
    url "http://s3.amazonaws.com/download.elasticsearch.org/lucenesnapshots/00142c9"
}
依赖关系

High Level Java REST Client依赖于以下工件及其传递依赖性:

org.elasticsearch.client:elasticsearch-rest-client

org.elasticsearch:elasticsearch

初始化

RestHighLevelClient实例需要按如下方式构建REST低级别客户端构建器:

RestHighLevelClient client = new RestHighLevelClient(
        RestClient.builder(
                new HttpHost("localhost", 9200, "http"),
                new HttpHost("localhost", 9201, "http")));

高级别客户端将在内部创建用于根据提供的构建器执行请求的低级别客户端,该低级别客户端维护一个连接池并启动一些线程,因此当你完好无损地关闭高级别客户端时,它将关闭内部低级别客户端以释放这些资源,这可以通过close来完成:

client.close();

在关于Java High Level Client的本文档的其余部分中,RestHighLevelClient实例将被引用为client

RequestOptions

RestHighLevelClient中的所有API都接受RequestOptions,你可以用来不会改变Elasticsearch执行请求的的方式自定义请求。例如,你可以在此处指定NodeSelector来控制哪个节点接收请求,有关自定义选项的更多示例,请参阅低级别客户端文档。

上一篇:Elasticsearch Java REST Client(嗅探器) 下一篇:Index API

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69696.html

相关文章

  • Elasticsearch Java REST Client(目录)

    摘要:用于的官方高级别客户端,基于低级别客户端,它公开特定的方法,并负责请求编组和响应反编组。入门初始化执行请求读取响应日志记录通用配置嗅探器在中被添加。依赖于核心项目,它接受与相同的请求参数,并返回相同的响应对象。 Elasticsearch Java REST Client Java REST Client有两种类型: Java Low Level REST Client:用于Elast...

    roland_reed 评论0 收藏0
  • Elasticsearch Java High Level REST Client(Index AP

    摘要:刷新策略作为提供。的典型侦听器如下所示执行成功完成时调用。处理潜在的失败。如果存在版本冲突,则抛出引发的异常表示返回了版本冲突错误。如果将设置为并且已存在具有相同索引类型和的文档,则会发生相同的情况引发的异常表示返回了版本冲突错误。 Index API 索引请求 IndexRequest需要以下参数: IndexRequest request = new IndexRequest( ...

    wangzy2019 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<