spring整合Solr服务

紧接上篇Solr搜索服务入门,这章主要是介绍solr集成spring实现搜索查询服务....

直接撸代码吧。。。。。。

主要步骤:

1、添加solr客户端maven依赖

注意:选择适合的版本,否则可能会与自身项目的一些jar依赖冲突,

    <!-- solrJ客户端  -->
        <dependency>
            <groupId>org.apache.solr</groupId>
            <artifactId>solr-solrj</artifactId>
            <version>5.3.1</version>
        </dependency> 

2、添加solr服务器信息

application.properties

#Solr
solrServer.url=http://localhost:8983/solr/test_core
solrServer.maxRetries=3  
solrServer.connectionTimeout=500

3、新增spring-solr.xml配置

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:p="http://www.springframework.org/schema/p"  
    xmlns:context="http://www.springframework.org/schema/context"  
    xmlns:mvc="http://www.springframework.org/schema/mvc"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-4.0.xsd
    http://www.springframework.org/schema/mvc 
    http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">  
      
    <!--定义solr的server-->  
    <bean id="httpSolrServer" class="org.apache.solr.client.solrj.impl.HttpSolrServer">  
        <constructor-arg index="0" value="${solrServer.url}"/>  
        <!-- 设置响应解析器 -->    
        <property name="parser">  
            <bean class="org.apache.solr.client.solrj.impl.XMLResponseParser"/>  
        </property>  
        <!-- 设置重试次数-->  
        <property name="maxRetries" value="${solrServer.maxRetries}"/>  
        <!-- 建立连接的最长时间 -->  
        <property name="connectionTimeout" value="${solrServer.connectionTimeout}"/>  
    </bean>  
</beans>  
4、在主配置中引入spring-solr.xml

      <!--集成Solr搜索  -->
      <import resource="classpath:spring/spring-solr.xml"></import>

5、运行服务,测试

https://blog.csdn.net/xiaokang123456kao/article/details/72846591

https://www.cnblogs.com/anny0404/p/5235007.html

https://www.cnblogs.com/fengli9998/p/6475970.html

https://www.cnblogs.com/lizhangyong/p/8677921.html

    @RequestMapping(value = "testSolrSelect", method = RequestMethod.POST)
    @ResponseBody
    public Map<String, Object> getTestSolr() throws Exception {
        SolrQuery query = new SolrQuery();
        query.set("q", "*:*");
        query.set("fq", "");
        query.set("fl", "**");
        query.set("start", "0");
        query.set("wt", "json");
        QueryResponse queryResponse = httpSolrServer.query(query);

        SolrDocumentList results = queryResponse.getResults();
        for (SolrDocument result : results) {
            Collection<String> fieldNames = result.getFieldNames();
            for (String fieldName : fieldNames) {

                System.out.println(fieldName + "  ---->  " + result.get(fieldName));
            }
        }
        return null;
    }
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot整合Solr的步骤如下: 1. 首先,需要导入solr-data启动器的依赖。可以在pom.xml文件中添加以下代码: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-solr</artifactId> </dependency> ``` 这样就可以引入Spring Boot提供的Solr相关功能了。\[1\] 2. 接下来,需要配置Solr的连接信息。可以在application.yml或application.properties文件中添加以下配置: ``` spring: data: solr: host: http://127.0.0.1:8080/solr server: port: 8983 ``` 这里的host和port分别指定了Solr服务器的地址和端口。\[1\] 3. 最后,可以使用Spring Boot提供的SolrClient来操作SolrSpring Boot为整合Solr提供了一个Starter:spring-boot-starter-data-solr。该Starter提供了SolrAutoConfiguration和SolrProperties两个类,其中SolrProperties用于加载以“spring.data.solr”开头的属性,SolrAutoConfiguration则负责在容器中自动配置一个SolrClient。需要注意的是,目前该SolrClient还不支持读取用户名和密码信息。\[2\] 综上所述,通过导入solr-data启动器的依赖,配置Solr的连接信息,以及使用Spring Boot提供的SolrClient,就可以实现Spring Boot整合Solr的功能了。\[1\]\[2\] #### 引用[.reference_title] - *1* [9.Spring Boot整合Solr](https://blog.csdn.net/qq_45305209/article/details/130791847)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [SpringBoot:整合Solr](https://blog.csdn.net/qq_42192693/article/details/103864780)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值