【Solr专题之九】SolrJ教程
一、SolrJ基础
1、相关资料
API:http://lucene.apache.org/solr/4_9_0/solr-solrj/
apache_solr_ref_guide_4.9.pdf:Client APIs---Using SolrJ
http://wiki.apache.org/solr/Solrj
solr in action:Using the SolrJ client library to add documents from Java, Using SolrJ from Java
2、
二、SolrJ用于索引
三、SolrJ用于搜索
package org.jediael.ui;import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
import org.jediael.util.Constants;public class ReturnResult {public static void main(String[] args) throws Exception {String serverUrl = (args != null && args.length > 0) ? args[0]: "http://" + Constants.IP + ":" + Constants.PORT+ "/solr/collection1";SolrServer solrServer = new HttpSolrServer(serverUrl);// 读取输入参数作为查询关键字,若无关键字,则查询全部内容。String queryString = (args != null && args.length > 1) ? args[1]: "*:*";SolrQuery solrQuery = new SolrQuery(queryString);// 定义使用哪个request// handler进行搜索,若无指定,则使用默认的handler.默认是/select。若solrConfig.xml中无/select这个searchHandler,则返回以下错误solrQuery.set("qt", "/search");// solrQuery.setRows(5);QueryResponse resp = solrServer.query(solrQuery);SolrDocumentList hits = resp.getResults();for (SolrDocument doc : hits) {for (String fieldName : doc.getFieldNames()) {System.out.println(fieldName + " : " + doc.getFieldValue(fieldName) + " ");}System.out.println("------------------------Next Document--------------------------------");}}
}
1、使用SolrJ进行搜索,基本步骤如下:
(1)创建一个SolrServer。
(2)创建一个SolrQuery,并使用set(String,String)进行参数的配置。
(3)调用SolrServer.query(solrQuery),返回QueryResponse。
(4)对QueryResponse进行分析处理。
2、以下语句用于指定使用哪个request handler进行搜索,若无指定,则使用默认的handler.默认是/select。若solrConfig.xml中无/select这个searchHandler,则返回以下错误
<span style="font-family: Arial, Helvetica, sans-serif;">solrQuery.set("qt", "/search");</span>
HTTP Status 404 - /solr/collection1/select
type Status report
message /solr/collection1/select
description The requested resource is not available.
Apache Tomcat/7.0.54
【Solr专题之九】SolrJ教程相关推荐
- cass插件_南方CASS专题系列,全套教程+视频讲解+插件汇总,全部打包速带走
南方CASS专题系列,全套教程+视频讲解+插件汇总,全部打包速带走 CASS软件是基于CAD平台开发的一套集地形.地籍.空间数据建库.工程应用.土石方算量等功能为一体的软件系统:广泛应用于地形成图.地 ...
- JavaScript 专题(九)数组中查找指定元素
JavaScript 专题(九)数组中查找指定元素 上一篇文章中,我们了解了数组扁平化的思想,并学习了 lodash 是如何处理数组扁平化的. 这次我们来讨论在数组中查找元素时所用的一些方法,并且参考 ...
- Piggy-Bank - 九度教程第 102 题
Piggy-Bank - 九度教程第 102 题 题目 时间限制:1 秒 内存限制:32 兆 特殊判题:否 题目描述: Before ACM can do anything, a budget mus ...
- 【无线网络技术专题(九)】全网最全!典型室内场景无线网络部署方案!
无线专题共12篇,本文为第九篇(点击标题跳转历史文章): 无线专题(一):无线网络的前世今生 无线专题(二):Wi-Fi6与5G之战 无线专题(三):无线网络是通过空气传输数据吗? 无线专题(四):你 ...
- 质因数的个数 - 九度教程第54题
质因数的个数 - 九度教程第54题 题目 时间限制:1 秒 内存限制:32 兆 特殊判题:否 题目描述: 求正整数 N(N>1)的质因数的个数. 相同的质因数需要重复计算.如 120=22235 ...
- Solr(二)-Solrj操作Solr
一.Solrj实现索引库数据的更新 solrj的版本要和solr的版本对应. solrj是一款java操作solr的工具jar包. spring也可以很方便的整合solrj. @Test public ...
- Solr语法解析及SolrJ使用
Solr语法解析及SolrJ使用 标签(空格分隔): Solr 官方指南:http://lucene.apache.org/solr/quickstart.html Solrj 之HttpSolrCl ...
- 不容易系列之一(九度教程第 94 题)
不容易系列之一(九度教程第 94 题) 时间限制:1 秒 内存限制:128 兆 特殊判题:否 1.题目描述: 大家常常感慨,要做好一件事情真的不容易,确实,失败比成功容易多了!做好"一件&q ...
- 【solr专题之三】Solr常见异常
1.RemoteSolrException: Expected mime type application/octet-stream but got text/html 现象: SLF4J: Fail ...
最新文章
- 一文助你解决90%的自然语言处理问题(附代码)
- OCS2007安装配置指南
- Java的知识点30——线程的优先级、终止线程的典型方式、获取线程基本信息的方法
- vrep和matlab,VREP与MATLAB联合仿真程序--UR5机械臂动力学控制
- JavaScript闭包函数的理解与使用
- Chrome插件我只服你——10w人都在使用的浏览器插件
- web.xml.jsf_JSF 2.2在30秒内创建一个自定义Hello World组件
- sql alter表字段处理
- Android学习系列(34)--App应用之发布各广告平台版本
- html 获取下一个兄弟节点,js jquery获取当前元素的兄弟级 上一个 下一个元素
- SharePoint【学习笔记】-- SPWeb.EnsureUser()注意AllowUnsafeUpdates=true
- 澎湖师傅共制巨型“米龟” 延续两岸“乞龟”祈福民俗
- fckeditor java_FCKeditor在线编辑器(Java)
- 51单片机C语言us级延时函数
- 12306火车票抢票Python代码
- 痱子和湿疹的区别在哪里?
- 数据结构实验6_压缩矩阵的转置、普通转置、快速转置算法
- Nignx 网关 和 GateWay网关
- 2019河南省第十二届ACM大学生程序设计竞赛参赛感
- 【CSS】课程网站网页底部开发 ( 网页底部盒子模型测量及样式 | 代码示例 )
热门文章
- 【三万字!】Dubbo、Zookeeper学习笔记!秒杀面试官!——双非上岸阿里巴巴系列
- 解题报告——例题5-8 Unix is 命令(UVa 400)——26行代码解决
- 浙江省职业技能考试大纲计算机,浙江省高校计算机等级考试大纲
- html开启页面离线缓存,HTML5 离线缓存
- union和union all有什么区别_Django基础(29):select_related和prefetch_related的用法与区别...
- java 邮件模板_Spring Boot 优雅地发送邮件
- FatFs最新版本获取方法
- Win7 路由上网DNS服务器ping不通的解决方法
- mysql 索引都有哪些_MySQL 数据库的优化,你知道有哪些?
- android内容提供者_挖穿Android第三十九天