Spring整合单机版SolrJ
来源:互联网 发布:网络上很红的长发男模 编辑:程序博客网 时间:2024/05/21 23:34
一.引入maven依赖
这里用的是solr6.6.2
<dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>6.6.2</version></dependency>
二.创建applicationContext-solr.xml配置文件
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd"> <!--定义solr的客户端--> <context:property-placeholder location="classpath:solr.properties"/> <bean id="httpSolrClient" class="org.apache.solr.client.solrj.impl.HttpSolrClient"> <!--<constructor-arg index="0" value="${solr.baseUrl}"/>--> <constructor-arg index="0" value="http://localhost:8080/solr/stu_core"/> <!-- 设置响应解析器 --> <property name="parser"> <bean class="org.apache.solr.client.solrj.impl.XMLResponseParser"/> </property> <!-- 建立连接的最长时间 --> <!--<property name="connectionTimeout" value="${solr.connectionTimeout}"/>--> <property name="connectionTimeout" value="3000"/> </bean></beans>
solr.properties:
我这里的核心core名称是stu_core
solr.baseUrl = http://localhost:8080/solr/stu_coresolr.connectionTimeout=3000
三.将applicationContext-solr.xml引入到Spring主配置文件中
放置到applicationContext.xml文件最后即可
<!--solr 开始--> <import resource="applicationContext-solr.xml"/><!--solr 结束-->
四.编写测试Controller
package com.wdy.controller;import com.wdy.entity.TStudent;import org.apache.solr.client.solrj.SolrQuery;import org.apache.solr.client.solrj.SolrServerException;import org.apache.solr.client.solrj.impl.HttpSolrClient;import org.apache.solr.client.solrj.response.QueryResponse;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import java.io.IOException;import java.util.List;@RequestMapping("solr")@RestControllerpublic class ImportSolrData { @Autowired private HttpSolrClient httpSolrClient; /** * Solr整合Spring测试 * @param keywords * @return * @throws IOException * @throws SolrServerException */ @RequestMapping("keywordsSearchSpring") public List<TStudent> keywordsSearchSpring(String keywords) throws IOException, SolrServerException { List<TStudent> tStudents; //2.调用Solr查询关键字方法 //创建查询对象 SolrQuery solrQuery = new SolrQuery(); solrQuery.setQuery("name:"+keywords); //执行查询 QueryResponse query = httpSolrClient.query(solrQuery); //解析返回集合 tStudents = query.getBeans(TStudent.class); return tStudents; }}
五.测试及其结果
使用HttpClientUtil测试:
String url = "http://localhost:8089/solr/keywordsSearchSpring"; Map<String, String> params = new HashMap<String, String>(); params.put("keywords", "散文"); String res = HttpClientUtil.sendPost(url, params, "utf-8",null); System.out.println(res);
测试结果如下:
[ { "id": 1, "name": "散文是一种抒发作者真情实感、写作方式灵活的记叙类文学小明", "age": 111, "classid": 1, "tid": 1 }, { "id": 5, "name": "散文是一种抒发作者真情实感、写作方式灵活的记叙类文学体裁", "age": 0, "classid": 111, "tid": 1 }]
为了对比结果,附上所有数据:
再附上使用Solr的web管理工具查询到的结果:结果一致。
当然,solrJ也可以单独封装工具类使用,没必要和Spring整合。这里只是给出一种配置方案。以供大家学习参考。
阅读全文
0 0
- Spring整合单机版SolrJ
- spring整合redis单机版
- solr单机版与spring整合
- jedis整合spring单机版和集群版
- solrJ管理索引库(单机版)实例
- spring boot整合redis(单机+集群)
- redis单机之spring整合操作
- jedis(redis)整合spring,包括jedis客户端单机版,jedis集群版配置 ,连接池配置
- Solr客户端 SolrJ单机 添加查询操作
- 框架 day80 涛涛商城项目-redis安装单机版solr,搭建搜索服务层,solrJ使用
- solrJ
- SolrJ
- solrJ
- spring-boot集成redis单机版
- openstackF版单机搭建作业脚本(整合版)
- java整合solr5.5版本值solrj使用
- spring整合webservice maven版
- spring data redis 操作redis 单机版和集群
- 数据结构实验之图论十:判断给定图是否存在合法拓扑序列
- ACL配置(十分基础)
- 从一个例子分析gorilla/mux源码
- commons-lang常用API简介
- 剑指offer---二进制中1的个数(10)
- Spring整合单机版SolrJ
- MultipartFile简单Junit测试方法
- iptables的基本规则
- kerbernets 中CPU 亲和性实现
- QT中字符串的相关使用
- HttpClient4.1入门教程-利用官方例子讲解httpClient4.1的用法
- 类的成员初始化
- 新手村 Boss战-入门综合练习1 陶陶摘苹果(升级版)
- 数据结构实验之图论七:驴友计划(Floyd)