zoukankan      html  css  js  c++  java
  • elasticsearch 连接、操作记录

    github site:https://github.com/foolchild/record-elasticsearch

    1.elasticsearch的版本

    2.java客户端的变迁

    3.具体使用RestHighLevelClient

    1.elasticsearch的版本

    简单说一下我使用中感受到的变化

    5.x 支持多种type

    6.x 只能有一种type

    7.x 将去除type 没有类型的概念了

    7.X TransportClient被废弃,只能使用restclient。

    在es7中使用默认的_doc作为type,官方说在8.x版本会彻底移除type。

    2.java客户端的变迁

    2.1 transportClient

    关于TransportClient,elastic计划在Elasticsearch 7.0中弃用TransportClient,并在8.0中完全删除它。这里就不过多记录。

    2.2 Rest Low Level Client

    Java Low Level REST Client,低级别的REST客户端,通过http与集群交互,用户需自己编组请求JSON串,及解析响应JSON串。兼容所有ES版本最小Java版本要求为1.7

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

    2.3 Rest High Level Client

    Java High Level REST Client, 高级别的REST客户端,基于低级别的REST客户端,增加了编组请求JSON串、解析响应JSON串等相关api。使用的版本需要保持和ES服务端的版本一致,否则会有版本问题。(不知道以后会不会有best level 或者 highest。。。)

    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-high-level-client</artifactId>
        <version>6.2.4</version>
    </dependency>

    3.具体使用RestHighLevelClient

     3.1 兼容性

    • 依赖 java1.8
    • 请使用与服务端ES版本一致的客户端版本

    3.2 连接

    public class RestClient_test {
        public RestHighLevelClient getClient() {
            RestHighLevelClient client = new RestHighLevelClient(
                    RestClient.builder(new HttpHost("localhost", 9200, "http"),
                            new HttpHost("localhost", 9201, "http")));
            return client;
        }
    }

    3.3 关于操作

    在项目中有相关代码,这里偷个懒

    至此,elasticsearch连接完成,后续的查询操作内容庞大,一时讲述不清,后续更新。

  • 相关阅读:
    nginx主配置文件详解
    微信网页第三方登录原理
    QQ第三方登陆流程详解
    php垃圾回收机制
    mysql索引
    MySQL性能优化的最佳20+条经验
    MYSQL explain详解
    mysql分区功能详细介绍,以及实例
    MySQL分表、分区
    Redis主从读写分离配置
  • 原文地址:https://www.cnblogs.com/zhanghao1799/p/11940099.html
Copyright © 2011-2022 走看看