zoukankan      html  css  js  c++  java
  • elasticSearch6源码分析(11)client

    1.RestClient

    /**
     * Client that connects to an Elasticsearch cluster through HTTP.
     * <p>
     * Must be created using {@link RestClientBuilder}, which allows to set all the different options or just rely on defaults.
     * The hosts that are part of the cluster need to be provided at creation time, but can also be replaced later
     * by calling {@link #setNodes(Collection)}.
     * <p>
     * The method {@link #performRequest(Request)} allows to send a request to the cluster. When
     * sending a request, a host gets selected out of the provided ones in a round-robin fashion. Failing hosts are marked dead and
     * retried after a certain amount of time (minimum 1 minute, maximum 30 minutes), depending on how many times they previously
     * failed (the more failures, the later they will be retried). In case of failures all of the alive nodes (or dead nodes that
     * deserve a retry) are retried until one responds or none of them does, in which case an {@link IOException} will be thrown.
     * <p>
     * Requests can be either synchronous or asynchronous. The asynchronous variants all end with {@code Async}.
     * <p>
     * Requests can be traced by enabling trace logging for "tracer". The trace logger outputs requests and responses in curl format.
     */

    2.RestHighLevelClient

    /**
     * High level REST client that wraps an instance of the low level {@link RestClient} and allows to build requests and read responses.
     * The {@link RestClient} instance is internally built based on the provided {@link RestClientBuilder} and it gets closed automatically
     * when closing the {@link RestHighLevelClient} instance that wraps it.
     * In case an already existing instance of a low-level REST client needs to be provided, this class can be subclassed and the
     * {@link #RestHighLevelClient(RestClient, CheckedConsumer, List)}  constructor can be used.
     * This class can also be sub-classed to expose additional client methods that make use of endpoints added to Elasticsearch through
     * plugins, or to add support for custom response sections, again added to Elasticsearch through plugins.
     */

    2.1 IndicesClient

    /**
     * A wrapper for the {@link RestHighLevelClient} that provides methods for accessing the Indices API.
     * <p>
     * See <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/indices.html">Indices API on elastic.co</a>
     */

    2.2 ClusterClient

    /**
     * A wrapper for the {@link RestHighLevelClient} that provides methods for accessing the Cluster API.
     * <p>
     * See <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster.html">Cluster API on elastic.co</a>
     */

    2.3 IngestClient

    /**
     * A wrapper for the {@link RestHighLevelClient} that provides methods for accessing the Ingest API.
     * <p>
     * See <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest.html">Ingest API on elastic.co</a>
     */

    2.4 SnapshotClient

    /**
     * A wrapper for the {@link RestHighLevelClient} that provides methods for accessing the Snapshot API.
     * <p>
     * See <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html">Snapshot API on elastic.co</a>
     */

    2.5 TasksClient

    /**
     * A wrapper for the {@link RestHighLevelClient} that provides methods for accessing the Tasks API.
     * <p>
     * See <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/tasks.html">Task Management API on elastic.co</a>
     */

    2.6 XPackClient

    /**
     * A wrapper for the {@link RestHighLevelClient} that provides methods for
     * accessing the Elastic Licensed X-Pack APIs that are shipped with the
     * default distribution of Elasticsearch. All of these APIs will 404 if run
     * against the OSS distribution of Elasticsearch.
     * <p>
     * See the <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/xpack-api.html">
     * X-Pack APIs on elastic.co</a> for more information.
     */

    2.7 WatcherClient

       /**
         * Start the watch service
         * See <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/watcher-api-start.html">
         * the docs</a> for more.
         * @param request the request
         * @param options the request options (e.g. headers), use {@link RequestOptions#DEFAULT} if nothing needs to be customized
         * @return the response
         * @throws IOException in case there is a problem sending the request or parsing back the response
         */

    2.8 GraphClient

        /**
         * Executes an exploration request using the Graph API.
         *
         * See <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/graph-explore-api.html">Graph API
         * on elastic.co</a>.
         */

    2.9 LicenseClient

    /**
     * A wrapper for the {@link RestHighLevelClient} that provides methods for
     * accessing the Elastic License-related methods
     * <p>
     * See the <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/licensing-apis.html">
     * X-Pack Licensing APIs on elastic.co</a> for more information.
     */

    2.10 MigrationClient

    /**
     * A wrapper for the {@link RestHighLevelClient} that provides methods for
     * accessing the Elastic License-related methods
     * <p>
     * See the <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/migration-api.html">
     * X-Pack Migration APIs on elastic.co</a> for more information.
     */

    2.11 MachineLearningClient

    /**
     * Machine Learning API client wrapper for the {@link RestHighLevelClient}
     * <p>
     * See the <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ml-apis.html">
     * X-Pack Machine Learning APIs </a> for additional information.
     */

    2.12 SecurityClient

    /**
     * A wrapper for the {@link RestHighLevelClient} that provides methods for accessing the Security APIs.
     * <p>
     * See <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/security-api.html">Security APIs on elastic.co</a>
     */

    2.13 RollupClient

    /**
     * A wrapper for the {@link RestHighLevelClient} that provides methods for
     * accessing the Elastic Rollup-related methods
     * <p>
     * See the <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/rollup-apis.html">
     * X-Pack Rollup APIs on elastic.co</a> for more information.
     */

    3.TransportClient

    /**
     * The transport client allows to create a client that is not part of the cluster, but simply connects to one
     * or more nodes directly by adding their respective addresses using
     * {@link #addTransportAddress(org.elasticsearch.common.transport.TransportAddress)}.
     * <p>
     * The transport client important modules used is the {@link org.elasticsearch.common.network.NetworkModule} which is
     * started in client mode (only connects, no bind).
     *
     * @deprecated {@link TransportClient} is deprecated in favour of the High Level REST client and will
     * be removed in Elasticsearch 8.0.
     */
  • 相关阅读:
    JavaScript 判断 URL
    AppCan 文件上传实例
    IIS6.0手动安装与配置asp.net2.0全过程
    轻松搭建一个Windows SVN服务器
    IIS6.0上某些文件类型不能下载
    JavaScript 数组转字符串,字符串转数组
    百度地图API 应用实例
    IIS7.5 下:HTTP 错误 404.17 Not Found 请求的内容似乎是脚本 解决方法
    SQL 交集 差集 并集 笛卡尔积 应用实例
    Win7 64位 IIS未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项
  • 原文地址:https://www.cnblogs.com/davidwang456/p/10157092.html
Copyright © 2011-2022 走看看