什么是Solr?
大多数搜索引擎应用都必须具有某种搜索功能,搜索功能往往是巨大的资源消耗,它们由于沉重的数据库加载而拖垮我们的应用的性能,所有我们一般在做搜索的时候会把它单独转移到一个外部的搜索服务器当中进行。
Apache Solr是一个流行的开源搜索服务器,用于构建搜索应用程序。是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。它建立在Lucene(全文搜索引擎)之上。 Solr是企业级的,是快速的和高度可扩展的。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。
为什么使用Solr?
①来自SQL数据库在性能上缺乏亮点。基本上,我们需要在我们的查询中使用JOIN操作。
②文档的天然数据特性:松散的文本文件,这种查询都是需要使用LIKE。然而joins和likes都是性能杀手,在目前的数据库引擎中是不方便的。
solr底层采用的是倒排索引,这种数据结构类似与美化过的词典。
Solr 关键特性
1.基于标准的开放接口:Solr搜索服务器支持通过XML、JSON和HTTP查询和获取结果。
2.易管理:Solr可以通过HTML页面管理,Solr配置通过XML完成。
3.可伸缩性:能够有效地复制到另外一个Solr搜索服务器。
4.灵活的插件体系:新功能能够以插件的形式方便的添加到Solr服务器上。
5.强大的数据导入功能:数据库和其他结构化数据源现在都可以导入、映射和转化。
Solr安装
一、上传下图所示的安装包到服务器,我这里放的位置是/usr/local/solr
二、解压Tomcat、Solr(.tar)和IKAnalyzer(.zip)
1.解压Tomcat命令
①解压:tar -zxvf apache-tomcat-8.5.32.tar.gz
②改名为tomcat:mv apache-tomcat-8.5.32 tomcat
③生成随机数的工具(有的环境已经安装了):
安装rngd服务:yum install mgd tools
启动服务:systemctl start rngd
④开启tomcat:./startup.sh - 此处命令只是为了输入ip地址,测试Tomcat是否已经启动
⑤停掉tomcat:./shutdown.sh - 因上一步开启,这一步就关闭,后面需要解压war包
2.解压solr
tar -zxvf solr-4.10.3.tar
3.解压IK
unzip IKAnalyzer.zip
三、复制solr.war到tomcat/webapp下
①cd /usr/local/solr/solr-4.10.3/example/webapps/
②cp solr.war /usr/local/solr/tomcat/webapps/
四、启动tomcat让solr.war自动解压
①启动Tomcat:/usr/local/solr/tomcat/bin/startup.sh
②进入war包所在地:cd /usr/local/solr/tomcat/webapps/
③查看war包是否解压:ls
④如果要删除solr.war,需要先停掉tomcat,再删除:/usr/local/solr/tomcat/bin/shutdown.sh
⑤进入到webapps删除solr.war包(要先停掉tomcat再去删除solr.war,不然solr文件夹会跟着消失):
cd /usr/local/solr/tomcat/webapps/
rm -rf solr.war
四、将solr-4.10.3/example/lib/ext/目录下的所有jar包拷贝到/usr/local/solr/tomcat/webapps/solr/WEB-INF/lib目录中
①去复制jar包:cd /usr/local/solr/solr-4.10.3/example/lib/ext
②复制所有:cp * /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib
五、将solr-4.10.3/example/目录下的solr文件夹复制到/usr/local/solr/目录下并且重命名为solrhome
①这是solr存数据的地方(数据库存到Solr里的地方)
②进入example目录下:cd /usr/local/solr/solr-4.10.3/example/
③复制一份solr文件夹到其他地方:cp -r solr /usr/local/solr/
④将solr改名为solrhome:
cd /usr/local/solr
mv solr solrhome
六、配置tomcat/webapps/solr/WEB-INF/web.xml的位置
①进入WEB-INF:cd /usr/local/solr/tomcat/webapps/solr/WEB-INF/
②修改web.xml:vim web.xml
③打开注释,添加solrhome:/usr/local/solr/solrhome
④停止tomcat:/usr/local/solr/tomcat/bin/shutdown.sh
⑤启动tomcat(等待时间很久):/usr/local/solr/tomcat/bin/startup.sh
⑥测试是否安装成功:浏览器打开,输入你的solr安装地址:如10.30.35.33:8080/solr
七、解决遗留问题,删除3个压缩包
①进入solr文件夹下:cd /usr/local/solr/
②删除命令:
rm -rf apache-tomcat-8.5.32.tar.gz
rm -rf IKAnalyzer.zip
rm -rf solr-4.10.3.tar
注:IK Analyzer是中文分词器,将在另外一篇博文对其进行介绍。