SpringBoot整合Solr进行搜索
创建SpringBoot项目
这里基于aliyun提供的快速构建一个项目。我们这主要是整合Solr。
pom中加入Solr依赖
maven下载地址
pom中加入以下内容:
<!-- 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 的连接信息:
# application.yml
spring:
data:
solr:
host: http://localhost:8983/solr/my-core
或者
# application.properties
spring.data.solr.host=http://localhost:8983/solr/my-core
my-core就是我们之前安装的集合。我们写一个测试代码测试一下
创建实体
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查询
@Autowired
private SolrClient solrClient;
@Test
public void getAppUser() throws SolrServerException, IOException {
SolrDocument byId = solrClient.getById("0006ed0ad3c14727849bf0a77257d86e");
System.out.println(byId);
}
打印结果
SolrDocument{name=李四, school_name=金山小学云翠校区, id=0006ed0ad3c14727849bf0a77257d86e, _version_=1803003388015673344}