文章目录
1.solr是什么?
1.1.思考:淘宝,京东搜索是如何实现的?效率为何那么好?我们自己能不能实现?
使用了全文检索技术
1.2.什么是solr?
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML,JSON等格式的返回结果。
1.3.solr的特点
Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。
1.4.Solr和 lucene的区别
- lucene.是一个全文检索引擎工身包,它只是一个jar包,不能独立运行,对外提供服务。
- Solr…是一个全文检索服务器,它可以单独运行在servlet.容器,可以单独对外提供搜索和索引功能。Solr 比 lucene,在开发全文检索功能时,更快捷、更方便。
2.solr的下载与安装
2.1.下载地址
https://lucene.apache.org/solr/downloads.html
2.2.solr启动,停止等常用命令
注意:当前所有命令必须在solr/bin文件夹下运行
bin\> solr start # 启动
bin\> solr stop\stop -all # 停止\停止所有
bin\> solr status # 查看状态
3.tomcat整合solr
3.1.环境
- tomcat服务器版本:apache-tomcat-9.0.41
- solr服务器版本:solr.8.7.0
- jdk版本:jdk8以上(博主使用的是jdk15)
3.2.第一步
在电脑中创建一个存放solr和tomcat的文件夹,将solr压缩包和tomcat的压缩包放入其中并且解压,同时创建一个solr_home文件夹作为本地仓库
3.3.第二步
将solr文件夹下server/solr-webapp/目录下的webapp文件夹复制到tomcat服务器webapps目录下,并且改名solr
3.4.第三步
修改tomcat/conf目录下的server.xml,更改端口号,避免冲突
3.5.第四步
复制solr所在路径server\lib\ext\里的所有jar包,拷贝至tomcat\webapps\solr\WEB-INF\lib文件夹里
复制solr所在路径server\lib\里的除jetty开头的所有jar包,拷贝至tomcat\webapps\solr\WEB-INF\lib文件夹里
复制solr所在路径solrhome\contrib\analysis-extras\lib文件夹下所有的jar包,,拷贝至tomcat\webapps\solr\WEB-INF\lib文件夹里
3.6.第五步
在tomcat\webapps\solr\WEB-INF\web.xml中做如下操作
1.添加如下配置
env-entry-value:修改为你刚才第一步所创建的solr_home的绝对路径
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>D:/solr_service/solr_home</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
2.注释掉下面这些配置
3.7.第六步
- 将solr安装包下的server/resources/目录下的log4j有关的xml文档全部拷贝至tomcat\webapps\solr\WEB-INF\classes目录下,没有classes目录就创建
- 将复制过来的log4j文件里的所有${sys:solr.log.dir}修改为自己的指定的真实路径。(路径就是仓库的路径)
3.8.第七步
将solr安装包下的server\solr\目录里的全部内容复制到在第一步创建solr_home文件夹内
3.9.第八步
启动tomcat服务器,访问http://localhost:8081/solr/index.html,访问出现页面表示成功