目标:
solr的概念
solr服务器的搭建和使用
solr中导入数据库数据
项目中怎么使用solr实现商品搜索功能
一.solr相关概念
1.1 什么是Solr?
solr是一个独立的企业级搜索应用服务器,它是对外提供类似于web-service的api接口,用户可以通过http请求,发送一定格式的xml数据到solr,生成索引,也可以发送http get请求,请求solr服务器查询数据,将查询出的数据也是以xml格式返回.
1.2.为什么要用solr?
1.数据库的模糊查询没有分词的功能,solr有,可以更有效的查询到我们需要的数据
2.从solr 服务器中查询数据会比从数据库查询速度要快.
1.3.solr的工作方式
文档通过Http利用XML 加到一个搜索集合中。Solr查询该集合也是通过http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。
1.4. solr特点
1.高级全文搜索能力:由Lucene 提供支持,Solr可实现强大的匹配功能,包括短语,通配符,联接,分组以及任何数据类型 .
2.拥有基于标准的开放式接口- XML、JSON 和 HTTP
3.综合的管理界面
4.高度的可扩展性和容错性
5.能够实时索引
6.可扩展的插件架构,Solr可以和Hadoop一起使用。由于Hadoop处理大量数据,Solr帮助我们从这么大的源中找到所需的信息。不仅限于搜索,Solr也可以用于存储目的。像其他NoSQL数据库一样,它是一种非关系数据存储和处理技术。
1.5.solr版本和jdk需求关系
版本 发布时间 说明
1.1 2007-01-18 -
…
4.0.0 2013-01-16 Java 1.6 以上,ZooKeeper 3.3.6;引入solrcloud
…
4.7.1 2014-04-01 Java 1.6 以上,最后一个采用旧版配置方法版本
4.8.0 2014-04-27 Java 1.7 以上,ZooKeeper 3.4.6
…
6.0.0 2016-04-07 Java 1.8 以上,Jetty 9.3.8
…
1.6. Solr 相关链接
Solr 各版本下载地址:http://archive.apache.org/dist/lucene/solr/
Solr 官方网站:http://lucene.apache.org/solr/resources.html
详细的solr中文手册链接:https://www.w3cschool.cn/solr_doc/
二.solr的安装
2.1 下载jar 7.6.0
2.2 解压
解压出来的文件目录
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7HIxIsSu-1667313160699)(pic/1562766259891.png)]
2.3 启动服务器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pLYtXoSn-1667313160702)(pic/20200211161919.png)]
2.4访问
输入: http://localhost:8983
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gQJz6Kku-1667313160703)(pic/20200211162246.png)]
三 创建core
在solr中,每一个core代表一个索引库,里面保存索引数据以及配置信息
solr中可以有多个core,也就相当于mysql服务器下可以多个数据库
3.1 方法1: 用命令创建
- solr create -c core名称
- core的存放路径
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o0PkE2YF-1667313160704)(pic/1562767191129.png)]
3.2 方法2:界面创建
1.在solr-7.6.0/server/solr 文件夹下创建一个core文件夹 ,取名为students(商城项目里取名为goods)
-
将C:\solr-7.6.0\server\solr\configsets\_default下的conf文件复制一份到students(或goods)文件夹下
3.在solr界面Add Core,(之前取名goods的 这里名字就为goods)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WbSTJw7e-1667313160704)(pic/1562767853065.png)]