SpringBoot整合Solr进行搜索(简单)

SpringBoot整合Solr进行搜索

创建SpringBoot项目

  这里基于aliyun提供的快速构建一个项目。我们这主要是整合Solr。

pom中加入Solr依赖

maven下载地址

pom中加入以下内容:

bash 复制代码
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-solr -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-solr</artifactId>
    <version>2.4.13</version>
</dependency>

配置 Solr

在 application.yml 或 application.properties 文件中配置 Solr 的连接信息:

yml 复制代码
# application.yml
spring:
  data:
    solr:
      host: http://localhost:8983/solr/my-core

或者

bash 复制代码
# application.properties
spring.data.solr.host=http://localhost:8983/solr/my-core

my-core就是我们之前安装的集合。我们写一个测试代码测试一下

创建实体

java 复制代码
import lombok.*;
import org.apache.solr.client.solrj.beans.Field;
import org.springframework.data.annotation.Id;
import org.springframework.data.solr.core.mapping.SolrDocument;

import java.io.Serializable;

/**
 * @author by Guoshun
 * @version 1.0.0
 * @description 对应的实体
 * @date 2024/6/28 10:46
 */
@Setter
@Getter
@ToString
@NoArgsConstructor
@AllArgsConstructor
@SolrDocument(collection = "test_core")
public class AppUser implements Serializable {

    @Id
    private String id;

    @Field("title")
    private String name;

    @Field("school_name")
    private String schoolName;

}

编写一个简单的ID查询

bash 复制代码
    @Autowired
    private SolrClient solrClient;

    @Test
    public void getAppUser() throws SolrServerException, IOException {
        SolrDocument byId = solrClient.getById("0006ed0ad3c14727849bf0a77257d86e");
        System.out.println(byId);
    }

打印结果

bash 复制代码
SolrDocument{name=李四, school_name=金山小学云翠校区, id=0006ed0ad3c14727849bf0a77257d86e, _version_=1803003388015673344}

参考文章

  SpringBoot整合Solr及其基本使用(含语法介绍)

相关推荐
砍材农夫7 小时前
spring|spring web|拦截器、过滤器、aop
java·spring boot·spring·spring cloud
考虑考虑14 小时前
docker compose V2版本新属性
运维·后端·自动化运维
weixin_BYSJ198716 小时前
【计算机毕设】基于SpringBoot与Vue的文物保护档案管理系统08621
vue.js·spring boot·spring cloud·微服务·架构·django·课程设计
GreenTea16 小时前
7000 万 QPS、500 PB:OpenAI 如何用一个 Python 存储平台撑住 10 亿用户
后端·架构
Flynt16 小时前
Java 27 升级实测:默认值动得比新特性多,有个老参数会让 JVM 直接起不来
java·jvm·后端
Bs_MoneyMagnet16 小时前
基于springboot+vue的个人健康管理系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·vue3·springboot3·计算机毕业设计
GreenTea16 小时前
OpenAI Agents API 上手实测:一次调用把整个 agent loop 甩给 OpenAI
前端·后端·算法
Bs_MoneyMagnet19 小时前
基于springboot+vue的心理咨询预约与随访平台的设计与实现 源码+文档
vue.js·spring boot·后端·spring·毕业设计·旅游·计算机毕业设计
IT_陈寒20 小时前
Vue的响应式更新把我坑惨了,原来问题出在这
前端·人工智能·后端
陌シ未央ゞ20 小时前
基于BM25算法和RRF实现的混合索引(java版)
人工智能·spring boot·后端·算法