SpringBoot集成Elasticsearch

Elasticsearch 是一个的分布式搜索和分析引擎。可以通过Logstash 和 Beats 有助于收集、聚合和丰富您的数据并将其存储在 Elasticsearch 中。Kibana 可视化界面使您能够以交互方式探索、可视化查看和分享对数据的见解,并管理和监控堆栈。

1.导入相关的依赖包,排除log4j,log4j存在一定的漏洞,如果需要日志,根据需要导入相应的依赖即可

    org.springframework.boot    spring-boot-starter-data-elasticsearch                        log4j-api            org.apache.logging.log4j            

2.在配置文件中配置es的连接,自行配置开启密码进行连接

spring.data.elasticsearch.cluster-name=elasticsearchspring.data.elasticsearch.cluster-nodes=xx.xx.xx.xx:9300

3.配置要进行访问的实体类的,在系统上索引的名字全部为小写,通过这个索引名字可以用来执行索引、搜索、更新和删除操作

import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import org.springframework.data.annotation.Id;import org.springframework.data.elasticsearch.annotations.Document;import org.springframework.data.elasticsearch.annotations.Field;import org.springframework.data.elasticsearch.annotations.FieldType;@Document(indexName = "gridconnectionplatform", type = "docs", shards = 1, replicas = 0)@AllArgsConstructor@NoArgsConstructor@Datapublic class GridConnectionPlatform {    @Id    private Long id;    /**     * 可以进行相关的分析     * 可以根据需要配置相应的分词     */    @Field(type = FieldType.Text, analyzer = "ik_smart")    private String title;    /**     *      */    @Field(type = FieldType.Text)    private String custom;}

4.配置相应的持久层进行访问

import com.south.wires.entity.es.GridConnectionPlatform;import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;import org.springframework.stereotype.Repository;@Repositorypublic interface GridConnectionPlatformRepository extends ElasticsearchRepository {}

5.控制层的操作查询

@RequestMapping("xxxx")public JsonResult queryContent(String title) { NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder(); // 添加基本分词查询 queryBuilder.withQuery(QueryBuilders.matchQuery("title", title)); Page page = GridConnectionPlatformRepository.search(queryBuilder.build()); Iterator iterator = page.iterator();  //获取匹配返回前10条数据 while (iterator.hasNext()) {    //此时获取到查询的内容            GridConnectionPlatform gridConnectionPlatform=(GridConnectionPlatform) iterator.next();  }}
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章