- Solrj插入操作
为了方便操作,我们可以使用solrj这个客户端来进行。详情参考solrj的wikihttp://wiki.apache.org/solr/Solrj 前段时间看文章有说他用了netty,看了看代码没发现啊,只是用了httpclient,没用nio啊。使用配置就不说了,参考wiki就行,就是注意slf4j的版本,因为slf4j的api变了,如果报错的话,就换下版本吧。下面说下大概使用步骤
- 首先创建Solr对象,根据远程和嵌入式两种方式,远程的是代码为
SolrServer server = new HttpSolrServer("http://HOST:8983/solr/");
- 然后创建要插入的对象
Solrj可以以流的形式插入SolrInputDocument对象,也可以直接插入pojo。以流的形式插入例子如下
SolrInputDocument doc = new SolrInputDocument(); doc.addField("address", user.getAddress()); doc.addField("email", user.getEmail()); doc.addField("lat", user.getLat()); doc.addField("lng", user.getLng()); doc.addField("id", user.getUserId()); UpdateResponse rs = solrClient.addBySolrInputDocument(doc);
直接插入pojo对象的方式参考wiki上面介绍,主要方式就是在pojo上面用注解标注下,然后插入的使用用addBeans方法就行了。不论哪种方式都别忘了server.commit();来提交啊,和操作数据库一样不提交查不到啊。
- Solrj查询操作
首先需要建立ModifiableSolrParam或者SolrQuery对象用来存储查询参数。前者是为了方便查询对象初始化后还能修改的,对象本身带set和get方法。SolrQuery继承自ModifiableSolrParam,包含常用属性设置。下面是个使用SolrQuery的例子
public UserIndexDto serachByGeo(String lng, String lat, String distance) { SolrQuery query = new SolrQuery(); query.setQuery("*:*"); query.addFilterQuery("{!geofilt pt=" + lng + "," + lat + " sfield=store d=" + distance + "}"); query.addSort("geodist(store," + lng + "," + lat + ")", SolrQuery.ORDER.asc);//距离排序 log.info("query is " + query.toString()); SolrDocumentList docList = solrClient.queryBySolrQuery(query).getResults(); return changeRsToDtoList(docList); }
- Solrj删除
直接调用server.deleteById可以根据id直接删除
相关推荐
solrj使用教程
里面有非常详细的说明交你怎么使用solrj客户端来操作solrAPI
简单的SolrJ使用示例,包括文件:News.java(PO对应的class),SolrService.java(对solrJ的包装),SolrServiceHook.java(在查询前修改SolrQuery的行为)
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。...Solrj 是访问 Solr 的 Java 客户端,它提供添加、更新和查询Solr 索引的接口。http://wiki.chenlb.com/solr/doku.php?id=solrj
solrj是一个java客户端访问solr,它定义了一个java接口来添加、修改、查询solr的索引。本页描述的solrj使用Solr释放包括1.4 x版本
solr详细配置教程与solrj的使用
solrj工具类封装,包括条件批量查询,批量增删改,分段修改。
该文档主要是对solr1.4的配置,包含服务器的复制,分发,和分片
放了SolrJ6.3.0所有web工程下的Jar包。solr-solrj6.3.0.jar等。放了SolrJ6.3.0所有web工程下的Jar包。放了SolrJ6.3.0所有web工程下的Jar包。
压缩文件里面有solr-solrj-4.10.3.jar和solr-solrj-5.0.0.jar两个jar
solr-solrj 5.0.0 和自己搭建的solr服务交互
solr-solrj-4.9.0.jar
solr-solrj-4.10.3.jar。
solrj的facet查询总结
Solrj 中文教程
solr-solrj-4.4.0.jar
solr-solrj-6.6.0.jar
solr部署在tomcat势必要设置用户权限,所以客户端solrj在创建连接的时候也需要用户名加密码
solrJ是Java连接solr进行查询检索和索引更新维护的jar包。