在这里插入图片描述
操作ElasticSearch分为脚本操作(运维人员常用)和java操作(开发人员常用),今天小编主要介绍java操作方式,之前小编讲解了ES如何搭建,并介绍了IK分词器,今天基于ES环境来继续学习。

  • 需求:使用sringboot整合ElasticSearch
  • 实现步骤:
    1、 搭建springboot工程
    2、 引入ElasticSearch相关坐标
    3、 测试编码
    下面是ElasticSearch的相关坐标
    在这里插入图片描述
  • 开始部署springboot项目
    在这里插入图片描述
    在这里插入图片描述
    由于不是web工程,下面页面不需要勾选
    在这里插入图片描述
    直接finish完成
    在这里插入图片描述
    去pom文件引入ES所需要的坐标
<!-- 引入ES的坐标 -->
<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>7.4.0</version>
</dependency>
<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-client</artifactId>
    <version>7.4.0</version>
</dependency>
<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>7.4.0</version>
</dependency>

在这里插入图片描述
写一个测试类,并启动下
在这里插入图片描述
这个时候我们开始整合springboot
在resource下创建application.yml

在这里插入图片描述
在java层级下创建ElasticSearchConfig类

package com.itheima.elasticsearchdemo.config;

import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
@ConfigurationProperties(prefix = "elasticsearch")
public class ElasticSearchConfig {

    private String host;
    private int port;

    public String getHost() {
        return host;
    }

    public void setHost(String host) {
        this.host = host;
    }

    public int getPort() {
        return port;
    }

    public void setPort(int port) {
        this.port = port;
    }

    @Bean
    public RestHighLevelClient client(){
        return  new RestHighLevelClient(RestClient.builder(
                new HttpHost(
                        host,port,"http"
                )
        ));
    }
}

上方出现红条没有问题,引入一个maven坐标即可解决
重新修改测试类

package com.itheima.elasticsearchdemo;

import org.apache.http.HttpHost;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class ElasticsearchDemoApplicationTests {

    @Autowired
    private RestHighLevelClient client;

    @Test
    void contextLoads() {
        //1.创建ES客户端对象
//        RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(
//                new HttpHost(
//                        "192.168.149.135",9200,"http"
//                )
//        ));
        System.out.println(client);
    }

}

启动下
在这里插入图片描述
发现没有问题,整合完毕

  • 操作索引
  • 添加索引
    在这里插入图片描述
    执行完进行查询
    在这里插入图片描述
  • 添加索引及映射信息
    3.
    在这里插入图片描述
    执行成功后,去kibana看下
    在这里插入图片描述
  • 查询索引
    4.
    这样查询 是itcast:后面显示个对象
    我们要向查询数据可以改为

    在这里插入图片描述
    再查询一下
    在这里插入图片描述
  • 删除索引
    5.
    执行一下
    在这里插入图片描述
    在这里插入图片描述
  • 判断索引是否存在
    6.
    执行一下
    在这里插入图片描述
  • 操作文档
  1. 添加文档(map的数据形式)
    2.
    查询一下
    在这里插入图片描述
    以上是map的数据形式,建议改成实体类型的入参
  2. 添加文档(实体的数据形式 实体转json)
    3.
  3. 修改文档
    添加文档时id存在时修改,id不存在则是添加,就是上面的添加操作
  4. 根据id查询文档
    5.
    执行一下
    在这里插入图片描述
  5. 删除文档
    4.
    执行一下,打印删除为1的id
    在这里插入图片描述
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐