原文
http://ilovejavaforever.iteye.com/blog/710996
Solr 是一个独立的企业级搜索应用服务器,它对外提供类似于 Web-service 的 API 接口。用户可以通过 http 请求,向搜索引擎服务器提交一定格式的 XML 文件,生成索引;也可以通过 Http Get 操作提出查找请求,并得到 XML 格式的返回结果。这里主要讲解下通过 http Get 请求这种方式。首先,我们就必须通过 HTTP 请求类似 http://localhost:8989/solr/select?q=tags:t5 AND t7&fl=auction_id&start=0&rows=4&sort=auction_id desc,auction_point asc 的链接,对服务器进行访问。将最终结果以类似流的方式传回客户端。
。。。。。。
Solrj 粉墨登场:
在 Solr 的连接请求,返回结果这一方面, Apache 已经为我们提供了 Solrj 这个工具,我们只需要简单的导入相关包,使用其简单的 API 就可以轻松对 solr 进行操作了。
。。。。。。
请求方面:
Without Solrj :如果采用http直接访问的方法,我们必然会用到httpclient请求Solr服务器。其中所有的搜索条件都必须通过拼接一个负责冗长的url,例如:q=tags:t5 AND t7&fl=auction_id&start=0&rows=4&sort=auction_id desc&…&...&… ,通过GET的方式,请求服务器。
With Solrj :面对对象的思想,所有搜索条件均以setter属性的方式设置到其封装的对象当中。但是,实际上还是通过拼接url的方式,走http请求的方式再请求Solr服务器。
Result: 本质完全相同,有了Solrj,开发会省很多事,将很多开发中的体力活交给Solrj。但是直接拼接url的方式肯定比对象的方式灵活很多。因为其中不复杂,有兴趣的同学,可以给Solrj加个方法,直接在Solrj最终生成的url上加上任何字符串。
获取结果方面:
Without Solrj :结果的返回形式是xml文件,每条记录都会以document节点的形式记录。如果要获得Object对象,我们一般会用Dom4j或者xStream等技术对结果的xml进行解析。
With Solrj :两种方式,均只有几行代码,直接获得结果。无需解析xml。优点显而易见!
Result: 没啥好说,Solrj顶!
说白了:
Solrj仅仅是一个Solr的客户端,简化大家没必要的开发量。原理很简单,实现不复杂,属于专门为Solr造的一个轮子。
分享到:
相关推荐
基于solrj开发solr主从搜索引擎服务的dubbo组件
The following is a sample use of highlighting on a search for Corgan in the artist MusicBrainz data set. Recall that the mb_artists request handler is configured to match against the artist name, ...
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。...Solrj 是访问 Solr 的 Java 客户端,它提供添加、更新和查询Solr 索引的接口。http://wiki.chenlb.com/solr/doku.php?id=solrj
主要讲解了 solr客户端如何调用带账号密码的solr服务器调用,实现添加索引和查询索引,以及分组查询
Lucidworks Spark / Solr集成该项目包括用于从Solr作为Spark DataFrame / RDD读取数据以及使用SolrJ将对象从Spark索引到Solr的工具。 索引编制例子索引和查询Twitter数据索引和查询纽约市黄色出租车CSV数据配置和...
solrj是一个java客户端访问solr,它定义了一个java接口来添加、修改、查询solr的索引。本页描述的solrj使用Solr释放包括1.4 x版本
solrj操作solr 包括crud 查询加入不同条件查询以及查询结果高亮 资料包括测试对象,工具类以及工具类对应的测试类,方便二次开发与使用,10分绝对不亏!
solrJ是Java连接solr进行查询检索和索引更新维护的jar包。
solr-solrj-4.9.0.jar
solrj工具类封装,包括条件批量查询,批量增删改,分段修改。
7.1 SolrJ/Solr cross-version compatibility 19 7.2 Setting the classpath 20 7.2.1 Maven 20 7.3 HttpSolrServer 21 7.3.1 Changing other Connection Settings 22 7.4 EmbeddedSolrServer 22 7.5 Usage 23 7.5.1...
压缩文件里面有solr-solrj-4.10.3.jar和solr-solrj-5.0.0.jar两个jar
solr-solrj-4.4.0.jar
solr-solrj 5.0.0 和自己搭建的solr服务交互
solr详细配置教程与solrj的使用
solr-solrj-6.6.0.jar
详细介绍了solr中,各个功能的UI页面的使用,以及使用solrj操作solr的代码,比较全面的总结了solr的各个功能点。是不可多得的好资料!
——SolrJ客户端和一个二元响应协议,支持更快的客户端-服务器通信 ——搜索组件可以被组成链式结构,用来提供更灵活的查询处理。组件包括现有的功能如faceting(多侧面搜索),同时添加More Like This(更多类似的...
apache-solr-solrj-3.5.0.jar
solr-solrj-4.10.3.jar。