SpringBoot整合ElasticSearch的基本使用(超级简单,坚持看完你一定学会)

SpringBoot整合ElasticSearch

  • 项目结构

  • 在这里插入图片描述

  • 导包

    <!--映入springBoot父工程-->
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.3.3.RELEASE</version>
        </parent>
    
        <dependencies>
            <!--导入ES的包-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
            </dependency>
            <!--导入Web包-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
        </dependencies>
    
  • 编写一个ES的配置类

    @Configuration
    public class ESConfig {
        @Bean
        public RestHighLevelClient restHighLevelClient(){
            //ES的 ip 端口 协议(固定)
            RestClientBuilder http = RestClient.builder(new HttpHost("192.168.93.144", 9200, "http"));
            RestHighLevelClient restHighLevelClient=new RestHighLevelClient(http);
            return restHighLevelClient;
        }
    }
    
    
  • 编写一个索引映射类(我这里就是User类)

    //indexName 就是索引的名字
    @Document(indexName = "cn")
    public class User {
        @Id //表示这个id作为ES 文档的id
        @Field(index = false,type = FieldType.Integer)
        private Integer id;
    
        @Field(index = false,type = FieldType.Keyword)
        private String name;
    
        @Field(index = false,type = FieldType.Integer)
        private Integer age;
    
        @Field(index = true,type = FieldType.Text,analyzer = "ik_max_word")
        private String search;
        
    }
    
  • 创建一个dao接口(这个接口就是用来操作ES中文档的增删改查)

    //ElasticsearchRepository<索引类名,主键类型的数据类型>
    public interface ESMapper extends ElasticsearchRepository<User,Integer> {
    }
    
    
  • Service层

    @Service
    public class ESServiceImp implements ESService {
        //注入ESMapper
        @Autowired
        private ESMapper esMapper;
        //添加文档
        @Override
        public void addEs() {
            User user = new User();
            user.setName("wsl");
            user.setAge(18);
            user.setSearch("我爱中国");
            user.setId(1);
            User save = esMapper.save(user);
            System.out.println(save);
        }
    
        //删除文档
        @Override
        public void deleteEs() {
            //根据id删除
            esMapper.deleteById(1);
        }
    }
    
  • Controller测试

    @RequestMapping("/es")
    @RestController
    public class EsTestController {
        //注入service
        @Autowired
        private ESService esService;
    
        @RequestMapping("/add")
        @ResponseBody
        public String add(){
            esService.addEs();
            return "OK";
        }
        //删除
        @RequestMapping("/delete")
        @ResponseBody
        public String delete(){
            esService.deleteEs();
            return "OK";
        }
        
    }
    
  • 编写启动类

    @SpringBootApplication
    public class ESApplication {
        public static void main(String[] args) {
            SpringApplication.run(ESApplication.class,args);
        }
    }
    

测试效果

在这里插入图片描述

添加效果

在这里插入图片描述

删除效果

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值