一.前言
我们知道,在很多网站中都会涉及到搜索功能,比如电商平台,但是如果直接在数据库中进行搜索,数据库不支持分词搜索,只能使用模糊搜索,会造成数据库的压力。所以,我们就需要使用一个外部的搜索服务来转移这种压力。
Apache Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引。也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
二.安装运行
环境:window,jdk8。
下载安装solr,版本8.8.2。下载地址
解压后,用cmd进入到该文件的bin下,执行命令solr start就可以启动solr服务,默认端口为8983。
浏览器访问localhost:8983,显示solr的管理界面。
三.创建core
执行命令solr create -c mycore,创建一个core,创建完在页面上可以查看。如下。
四.连接mysql
上一个创建完mycore后,在文件夹中生成了相关文件夹(mycore)。
1.在mycore文件夹下,创建lib文件夹,引用mysql依赖的jar包。
2.从solr-8.8.2exampleexample-DIHsolrdbconf下的所有内容复制l到mycore/conf文件下。
3.修改db-data-config.xml。
4.item表如下。
5.重启solr服务。
6.选择mycore,在Schema中添加Field,name和数据库字段对应。
7.添加完后,会自动在mycore/conf的managed-schema中生成内容。
注意这里的主键一定要对应该表的主键。
同时修改name为id的field,required为false。
8.重载mycore
9.在数据库往表加入几条数据来测试,在mycore中执行数据导入。
10.查询数据
三.总结
solr自身也像是no-sql数据库一样,可以将数据库的数据导入,然后用它来处理各种分词的查询,提高查询效率。