windows中下载安装ES并使用SpringBoot整合ES检索功能(包含mybatis)

1这只是简单的用ES,下一篇会推出数据同步

如果我们直接去访问数据库,会对数据库造成很大的负担。如果只是查询信息或者模糊查询完全可以用ES检索功能来实现。首先就是查询速度更快,其次就是减少查询数据库的次数。

首先下载Elasticsearch,个人是不推荐去官网下载,首先就是太慢了。推荐用华为云下载。

Index of elasticsearch-local (huaweicloud.com)

使用ES的前提是有jdk,如果用SpringBoot项目的话,推荐jdk11以上。

下载windows版本的话只要下载zip在解压 。完成后,先进入下面config下面,然后

进去,把下面都改成false,

windows中下载安装ES并使用SpringBoot整合ES检索功能(包含mybatis)_第1张图片

完事后,返回上一级,进入bin目录。双击下面的文件就可以打开ES

 浏览器中访问  127.0.0.1:9200  如果出现下面的情况就是成功了

windows中下载安装ES并使用SpringBoot整合ES检索功能(包含mybatis)_第2张图片

下面我们安装kibana来图形化操作ES

一样的,进入华为云镜像下载

Index of kibana-local (huaweicloud.com)

注意!!!!这里的kibana的版本一定要与Elasticsearch的版本相同,不然会报错!!!!

一样的,解压后直接进入,双击kibana.bat。等待运行完毕

进入http://localhost:560fan

windows中下载安装ES并使用SpringBoot整合ES检索功能(包含mybatis)_第3张图片 

就是配置完成了。

这时我们就可以正常使用ES的功能了,下面开始整合。以下是测试类中进行!!

在创建SpringBoot项目的时候,勾选下面的依赖项

windows中下载安装ES并使用SpringBoot整合ES检索功能(包含mybatis)_第4张图片

导入MyBatis坐标

 
            mysql
            mysql-connector-java
            8.0.24
        

        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            3.0.0

导入application.yml文件

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/自己的数据库名
    username: root
    password: root
  elasticsearch:
    uris: http://127.0.0.1:9200

创建一个实体类User

package com.example.demo1.entity;

import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;

@Data
@Document(indexName = "user-demo")
public class User {
    @Id
    private Integer id;
    private Integer age;
    private String address;
    private String gender;
    private String username;

    public User(Integer id, Integer age, String address, String gender, String username) {
        this.id = id;
        this.age = age;
        this.address = address;
        this.gender = gender;
        this.username = username;
    }

    public User() {
    }
}

创建一个ES接口类

package com.example.demo1.mapper;

import com.example.demo1.entity.User;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
import org.springframework.stereotype.Indexed;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface UserMapper extends ElasticsearchRepository {
    List findByUsername(String username);
    Page findByUsernameContaining(String username, Pageable page);
}

创建一个MyBatis接口类

package com.example.demo1.mapper;
import com.example.demo1.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
    public interface UserMyBatis {
        @Select("select * from user1")
        List select();

    }


在测试类里面加入以下代码

package com.example.demo1;

import co.elastic.clients.elasticsearch.core.IndexRequest;
import com.example.demo1.entity.User;
import com.example.demo1.mapper.UserMapper;
import com.example.demo1.mapper.UserMyBatis;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.domain.PageRequest;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;

@SpringBootTest
class Demo1ApplicationTests {

    @Autowired
    UserMapper userMapper;

   @Autowired
    UserMyBatis userMyBatis;

    @Test
    void contextLoads(List list) {

        for (User user:list){
            userMapper.save(new User(user.getId(), user.getAge(), user.getAddress(), user.getGender(), user.getUsername()));
        }

    }
   @Test
    void select(){
        List users = userMyBatis.select();
        contextLoads(users);

    }

}

启动测试!!我们打开kibana的浏览器窗口,找到下面的Dev Tools,点开

windows中下载安装ES并使用SpringBoot整合ES检索功能(包含mybatis)_第5张图片

windows中下载安装ES并使用SpringBoot整合ES检索功能(包含mybatis)_第6张图片

输入   GET /user-demo/_search 就可以看到下面的代码。说明我们就成功了

windows中下载安装ES并使用SpringBoot整合ES检索功能(包含mybatis)_第7张图片

你可能感兴趣的:(elasticsearch,数据库,大数据)