java操作solr实现索引,查询,删除,拼写检查等功能

使用java操作solr

前面讲了很多对solr的操作都是直接在页面上操作的,实际工作中肯定是要使用java进行操作的,在这我们就看一下如何使用java来操作solr

Solr提供了solrj来使用java操作solr,SolrJ是封装了httpClient方法,来操作solr的API的。首先添加maven依赖

<dependency>

       <groupId>org.apache.solr</groupId>

       <artifactId>solr-solrj</artifactId>

       <version>4.10.4</version>

</dependency>

还要添加junit4的maven依赖

<dependency>

       <groupId>junit</groupId>

       <artifactId>junit</artifactId>

       <version>4.12</version>

</dependency>

查询query

下面就可以写代码了,新建一个testSolr类,

12165403_yZFp.png

执行的时候发现报错,是因为缺少common-logging的包,添加对应的maven依赖

<dependency>

              <groupId>commons-logging</groupId>

              <artifactId>commons-logging</artifactId>

              <version>1.1.1</version>

</dependency>

这样的话就可以把collection1这个索引库里面的数据打印出来了,因为查询条件是*:*

在这要注意这个baseurl,默认情况下,如果操作collection1里面的数据的话不需要指定就可以,默认就会操作collection1这个索引库。

所以上面的两个baseurl的效果是一样的。

索引index

使用add方法,可以向solr中添加一条数据。

12165404_fGW8.png

注解方式建立索引

在实际工作中,如果在建立索引的时候让我们一个属性一个属性的设置是很麻烦的,一般都是直接使用一个对象,这样使用起来也很方便。

首先创建一个实体类,主要注意里面的字段要添加一个注解,如果不添加的话solr是不能识别的。

12165404_b9lC.png

12165404_KrQz.png

这样就可以把这个对象在solr中建立索引了。

删除索引delete

可以根据ID进行删除,或者根据查询条件进行删除。

12165404_N6L7.png

拼写检查spellcheck

设置查询的handler,修改为/spell,获取查询结果,如果查询结果为0,则说明没有查询到结果,可能就是输入的查询关键字有错误,这样就可以根据getspellcheckresponse方法获取拼写检查的response,根据这个response的一些方法就可以获取到建议的结果。

可以根据下面的方式获取建议的结果。在这是从collation中获取结果。

12165404_QrcS.png

12165405_xvts.png

或者根据下面的方法获取建议结果。在这是从suggestion中获取结果。

12165405_Zq4Z.png

上面的两种方式都可以获取建议拼写的结果。

更多精彩内容请关注:http://bbs.superwu.cn

关注超人学院微信二维码:165347_tbRJ_2273204.jpg

转载于:https://my.oschina.net/crxy/blog/466116

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值