SpringBoot项目集成全文搜索引擎Elasticsearch

news/2024/7/7 5:49:50 标签: spring boot, elasticsearch, java

 

首先安装 Elasticsearch和Kibana

Download Elasticsearch | Elastic       Download Kibana Free | Get Started Now | Elastic

导入相关maven依赖

java"><dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>

yml中配置相关参数

java">spring:
  data:
    elasticsearch:
      cluster-name: elasticsearch
      cluster-nodes: 127.0.0.1:9300 #9200是图形界面端,9300代码端

创建文档对象

该文档对象可用来做如下几个事情

  • 索引库的创建
  • 文档的映射
  • 存储到ES的数据封装
java">/**
 * 针对于student表的文档映射
 * indexName:索引库
 * type:类型(表类型)
 */
@Document(indexName = "stu" , type = "student")
public class StudentDoc {

    //对应文档的id  PUT  /index/type/id
    @Id
    private Long id;

    //指定为 不分词
    @Field(type = FieldType.Keyword)    
    private String userName;

    private int age;

    //指定为 分词
    @Field(type =FieldType.Text,analyzer = "ik_max_word",searchAnalyzer = "ik_max_word")
    private String intro;
   

初始化索引库和文档映射

java">@RunWith(SpringRunner.class)
@SpringBootTest(classes = EsServiceApplication.class)
public class ElasticsearchTest {

    @Autowired
    private ElasticsearchTemplate elasticsearchTemplate;

    @Test
    public void testCreateIndex() {
        //创建索引
        elasticsearchTemplate.createIndex(StudentDoc.class);
        //做文档映射
        elasticsearchTemplate.putMapping(StudentDoc.class);
    }
}

到此为止基础的集成就已经完成,可以通过Kibana测试索引是否创建成功。


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

相关文章

《迷人的8051单片机》----3.6 构造类型数据

本节书摘来自华章出版社《迷人的8051单片机》一书中的第3章&#xff0c;第3.6节&#xff0c;作者高显生&#xff0c;更多章节内容可以访问云栖社区“华章计算机”公众号查看。 3.6 构造类型数据 我们前面介绍的数据类型有字符型、整型、实型等&#xff0c;它们都属于基本的数据…

消息队列RabbitMQ快速入门 一文搞懂RabbitMQ原理以及安装配置启动 掌握SpringBoot集成整合RabbitMQ

RabbitMQ介绍 定义 MQ全称为Message Queue&#xff0c;即消息队列. 它也是一个队列,遵循FIFO原则 。RabbitMQ是由erlang语言开发&#xff0c;基于AMQP&#xff08;Advanced Message Queue Protocol高级消息队列协议&#xff09;协议实现的消息队列&#xff0c;它是一种应用程…

Java中SpringBoot项目集成Easy版支付宝支付

在官网注册支付宝开放平台账号:支付宝开放平台 (alipay.com) 进入沙箱环境查看APPID、应用公钥以及应用私钥等相关应用信息 导入相关maven依赖 <!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-easysdk --> <dependency><groupId>com.alip…

Java中SpringBoot项目做全局异常处理方法

可以使用ControllerAdvice注解&#xff0c;编写一个全局异常处理类&#xff0c;再自定义一个方法使用ExceptionHandler来捕获具体的异常并作相应的处理。 通常情况下后台向前台返回结果时&#xff0c;会把结果封装成包含有错误码&#xff0c;错误信息以及数据本身的json数据&a…

数据库中字段以下划线分割实体类转变为驼峰命名原因

因为这么做更加优雅&#xff0c;也更加规范。比如Mysql数据库字段命名为 blogTitle&#xff0c;乍一看没问题&#xff0c;但到了oracle就变成了 BLOGTITLE&#xff0c;到了postgresql就变成了blogtitle&#xff0c;可读性非常差。比如实体类字段命名为blog_title&#xff0c;则…

《Python Cookbook(第2版)中文版》——导读

前 言 这本书不是一本典型的O’Reilly风格的书&#xff0c;而是一本集合了多个作者的手稿的作品。实际上&#xff0c;这也是一种将开源开发的方式应用到书籍出版业的尝试。Python社区有超过300个成员在本书中贡献了他们的心得和资料。在这里&#xff0c;我们作为编辑&#xff0…

微服务项目Swagger聚合文档的用法,将所有的微服务地址以Swagger分组的形式展现

Swagger作为接口文档工具接入springboot工程很方便&#xff0c;只需一个starter&#xff0c;一个configuration就可集成完毕但是对于有较多微服务的系统来说&#xff0c;一个服务一个文档地址&#xff0c;便会觉得比较麻烦。有没有什么好的办法可以都把他们集中起来&#xff1f…

打开手机电筒就泄露了银行卡密码?

打开手机电筒就泄露了银行卡密码&#xff1f; 据ESET&#xff08;总部位于斯洛伐克布拉迪斯拉发的一家世界知名的电脑安全软件公司&#xff0c;创立于1992年&#xff09;4月19日官方报道&#xff0c;一个具有自动锁屏功能的银行恶意软件近期伪装成Google Play上的手电筒应用&am…