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 条评论) “” |