一、admin页面简单查询
先在本地启动solr,然后进入solr admin管理页面。在这之前我修改了数据库的数据,所以需要重新导入新的数据。选择自定义的core,点击"Query",入下图所示:

简单介绍一下几个常用查询参数:
"q":the quert string,即查询条件,“:”表示查询所有内容,支持多个查询条件。
"fq":fiter query,即过滤查询,使用Filter Query可以充分利用FilterQuery Cache,提高检索性能。个人觉得可能更多时候用来做区间查询。
"sort":sort field or function asc|desc,即根据指定field进行排序。
"start,rows"主要用来做分页,这个应该都比较熟悉。
"fl":field list,就是查询结果显示field,多个field用逗号分割。
"df" default search field,默认查询field。
Raw Query Parameters:就是所有的查询条件,只是查询参数是在URL上而已。
"wt": the wite type,即查询结果的显示形式,支持多种个数,json、xml、python、ruby、csv等,最常用的可能还是json或者xml吧。
上面这个几个都是比较差用的,查询条件,其他的还有一些,就不再介绍了。
用一个简单的需求来测试一下,查询条件:name为"*市"且level为1,parent_id在0到999之间包含0和,结果按照id降序排列,每页只展示10条记录,,输出格式为json(默认):

注意一点的是:solr查询的AND、OR、TO这些必须要大写,自己用小写发现没起作用,查询条件的格式一定邀注意,不然就会出错,另外查询条件也是支持通配符的("*"号)。这些常用的查询还是比较简单的,和sql也比较接近,这里就不过多介绍了,建议自己动手练习一下。
二、spring boot整合solr
spring boot有关于solr的支持官方文档, Spring Data JPA同样也支持solr,自己有兴趣可以尝试一下,其实本质上是一样的。我这次使用的是Spring Data Solr。
pom文件添加相关的依赖,pom文件如下:
<!-- solr--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-solr</artifactId> </dependency>
yml配置:
#--------------------------solr配置-----------------------# data: solr: host: "http://localhost:8983/solr/master_core"
实体类与SolrDocument映射配置

-
增量添加。 serviceImpl中实现业务数据添加同时添加进solr中

2. 根据id查询。先查询solr,如果solr没用查询到再查询数据库,并将结果添加到solr

3. 根据id删除
业务删除,solr删除
4. 页面搜索(将solr查询结果在前端展示略)