spring Data Elasticsearch入门

news/2024/7/12 2:25:05 标签: spring, elasticsearch, jenkins

1.Elasticsearch
Elasticsearch提供了两种连接方式:
transport:通过TCP方式访问ES。(已废弃)
rest:通过HTTP API 方式访问ES。

描述: Spring Data Elasticsearch 项目提供了与Elasticsearch 搜索引擎的集成。Spring Data ElasticSearch 的关键功能领域是以POJO为中心的模型,用于与Elastichsearch 文档交互并轻松编写Repository样式的数据访问层。

实例:
1.添加配置到application文件:
spring:
data:
jest:
uri: http://127.0.0.1:9200(ES默认端口为9200)

创建相应的接收类(类似于与数据库相对应的实体类):


@Document(indexName = "product", // 索引名
        type = "product", // 类型。未来的版本即将废弃
        shards = 1, // 默认索引分区数
        replicas = 0, // 每个分区的备份数
        refreshInterval = "-1" // 刷新间隔
)
public class ESProductDO {

    /**
     * ID 主键
     */
    @Id
    private Integer id;

    /**
     * SPU 名字
     */
    @Field(analyzer = FieldAnalyzer.IK_MAX_WORD, type = FieldType.Text)
    private String name;
    /**
     * 卖点
     */
    @Field(analyzer = FieldAnalyzer.IK_MAX_WORD, type = FieldType.Text)
    private String sellPoint;
    /**
     * 描述
     */
    @Field(analyzer = FieldAnalyzer.IK_MAX_WORD, type = FieldType.Text)
    private String description;
    /**
     * 分类编号
     */
    private Integer cid;
    /**
     * 分类名
     */
    @Field(analyzer = FieldAnalyzer.IK_MAX_WORD, type = FieldType.Text)
    private String categoryName;

其中字段上的 @Field 注解的 FieldAnalyzer ,是定义的枚举类。
FieldAnalyzer.IK_MAX_WORD — 会将文本做最细粒度的拆分。
FieldAnalyzer.IK_SMART ---- 会做最粗粒度的拆分。

  1. Repository类(类似与数据库的Dao层),继承ElasticsearchRepository<ESProductDO, Integer>,已经存在了CRUD的操作(与jpa类似)。
public interface ProductRepository extends ElasticsearchRepository<ESProductDO, Integer> {

}

ElasticsearchRepository 方法命名规则如下:

在这里插入图片描述


http://www.niftyadmin.cn/n/5328273.html

相关文章

中国硝酸异辛酯行业调研与投资预测报告(2024版)

内容介绍&#xff1a; 硝酸异辛酯是一种常用的柴油添加剂&#xff0c;用于改进柴油的十六烷值&#xff0c;其分子式为&#xff08;C8H17O&#xff09;NO2&#xff0c;外观为无色&#xff08;或淡黄色&#xff09;透明液体。 十六烷值是衡量柴油着火性能和抗爆性能的指标。一般…

一些平时很少用,但关键时刻很有用的华为手机功能

天灾&#xff0c;自古以来就是威不可知亦不可测的东西&#xff0c;但大自然中的很多意外&#xff0c;其实可以做到有迹可循。 地震预警功能 前段时间频繁地震&#xff0c;一个月内先是积石山&#xff0c;而后是日本能登。 这时候&#xff0c;手机上的地震预警功能就是能够帮…

一款好用的开源思维导图软件 docker部署教程

目录 Simple mind map简介 Simple mind map特点 1.拉取镜像 2.创建并启动容器 方式1&#xff1a;docker启动 方式2&#xff1a;docker compose启动 3.使用 4.源码地址 Simple mind map简介 .一个 Web 思维导图&#xff0c;基于思维导图库、Vue2.x、ElementUI 开发&#…

机器人制作开源方案 | 智能循迹避障小车

作者&#xff1a;刘元青、邹海峰、付志伟、秦怀远、牛文进 单位&#xff1a;哈尔滨信息工程学院 指导老师&#xff1a;姚清元 智能小车是移动式机器人的重要组成部分&#xff0c;而移动机器人不仅能够在经济、国防、教育、文化和生活中起到越来越大的作用&#xff0c;也是研究…

使用Python编写一个渗透测试探测工具

本篇将会涉及&#xff1a; 资源探测一个有用的字典资源第一个暴力探测器 资源探测 资源探测在渗透测试中还是属于资源的映射和信息的收集阶段。 主要有以下三个类型&#xff1a; 字典攻击暴力破解模糊测试 字典攻击&#xff0c;在破解密码或密钥的时候&#xff0c;通过自定…

提供多语种客户服务的正确方法:让你更接近全球客户

优质的客户支持是任何成功企业的核心。每位客户都希望得到全天候的及时响应。事实上&#xff0c;根据《哈佛商业评论》的研究报告&#xff0c;快速响应会促使人们在未来支付更多的费用。此外&#xff0c;在与全球客户打交道时&#xff0c;您的沟通必须超越语言障碍。用客户的语…

【机器学习300问】4、机器学习到底在学习什么?

首先我们先了解一个前置问题&#xff0c;再回答机器学习到底在学习什么。 一、求机器学习问题有哪几步&#xff1f; 求解机器学习问题的步骤可以分为“学习”和“推理”两个阶段。首先&#xff0c;在学习阶段进行模型的学习&#xff0c;然后&#xff0c;在推理阶段用学到的模型…

YOLOv8改进 | 检测头篇 | 利用DBB重参数化模块魔改检测头实现暴力涨点 (支持检测、分割、关键点检测)

一、本文介绍 本文给大家带来的改进机制是二次创新的机制,二次创新是我们发表论文中关键的一环,本文给大家带来的二次创新机制是通过DiverseBranchBlock(DBB)模块来改进我们的检测头形成一个新的检测头Detect_DBB,其中DBB是一种重参数化模块,其训练时采用复杂结构,推理时…