之前的搜索教程开了个头就没有继续了,现在重新捡回来,至少也把CURD的基本操作姿势补全了;本篇主要介绍如何删除数据
I. 配置
在介绍demo之前,需要先安装solr环境,搭建SpringBoot项目工程,具体的环境搭建过程不细说,推荐参考文档
在application.yml
配置文件中红,指定solr的域名
1 | spring: |
然后在solr中,写入一些数据,供我们删除使用,可以通过控制台的方式写入,也可以通过190526-SpringBoot高级篇搜索Solr之文档新增与修改使用姿势 这篇文档的case添加
1 | { |
II. 删除
我们依然是使用SolrTemplate
来操作solr的正删改查,它整合了solr的各种基本操作
1. 根据主键删除
请注意,这种case是根据主键id进行删除的,支持批量删除,需要solrTemplate.commit("yhh");
这一行来提交修改
1 | private void deleteById() { |
2. 查询删除
上面根据主键删除适合精准的删除操作,但是适用性有限;下面介绍查询删除的方式,将满足查询条件的数据都删除掉
1 | private void deleteByQuery() { |
上面提供了一个简单的查询条件,删除content内容以新增
开头的文档,至于查询语句的使用姿势在下一篇介绍Solr的查询姿势时详细说明
3. 测试
接下来测试一下上面的两种case
首先我们提供一个输出所有文档的方法,用于对比删除前后的数据变化
1 | private void printAll(String tag) { |
接下来是方法调用
1 |
|
输出结果如下,id为4,5,6的都被删除了
1 | ---------> query all init start <------------ |
II. 其他
0. 系列博文&项目源码
系列博文
项目源码
- 工程:https://github.com/liuyueyi/spring-boot-demo
- 源码: https://github.com/liuyueyi/spring-boot-demo/tree/master/spring-boot/140-search-solr
1. 一灰灰Blog
尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激
下面一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛
- 一灰灰Blog个人博客 https://blog.hhui.top
- 一灰灰Blog-Spring专题博客 http://spring.hhui.top