您的位置:首页 > 运维架构 > Linux

solr在windows和linux下的安装和配置

2017-08-06 21:51 405 查看
本来跟redis一样也不打算写下来solr的安装和配置,但是这些不讲的话后面直接用java操作就感觉莫名其妙的。所以觉得还是有必要写下来solr的安装和配置。

solr是apache下的一个开源项目,是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML/JSON格式的返回结果。并且提供了一个完善的功能管理界面, 是一款非常优秀的全文搜索引擎。

以前做案例(像crm,erp,等企业项目)的时候都是用的模糊查询,像什么like,limit这类。但是在一些大型门户网站、电商网站,再用这种方法去数据库查,首先人多的时候响应慢数据库压力大,就单这方面就存在问题。而且搜索完整性很差,比如要搜索华为手机,用solr的话那么关于华为、手机、华为手机这三个词在标题或者商品详情或者分类里面都搜索出来。这个时候总不能用sql语句去数据库查吧。注:solr也属于NoSql范畴哦。



1、windows下安装配置solr

环境:

solr:solr-4.10.3

jdk:jdk1.8.0_45

tomcat:apache-tomcat-8.0.45

我的理解能力比较差,经常看别人用文字描述安装配置等,尤其是集群的时候,就是看了也经常做不出来。所以我决定还是说一步截图一下吧。

第一步:

创建一个文件夹solr(名字任意),将下载解压好的tomcat和solr放到solr文件夹下。



将solr-4.10.3\example\webapps下的solr.war拷贝到apache-tomcat-8.0.45\webapps下并且解压缩,解压之后删除solr.war





记得解压后一定要删除solr.war这个war包,不然启动tomcat的时候会自动解压这个war包那么会覆盖我们解压过的solr文件夹,导致我们之后在solr文件夹里面做的一些操作被覆盖了。

第二步:

将 solr-4.10.3\example\lib\ext下的所有jar包拷贝到apache-tomcat-8.0.45\webapps\solr\WEB-INF\lib下。





第三步:

在solr目录下,创建solrhome(也就是solr的家,里面用来存储solr的相关配置文件,名字任意),将solr-4.10.3\example\solr下所有文件和文件夹拷贝到solrhome下。



解释:solr-4.10.3\example\solr就是一个标准的solrhome,文件夹collection1就是一个solrcore,也就是一个solr的实例,可以理解为一个数据库。当然我们还可以自己来创建其他的solrcore,比如复制一个collection1然后改一下配置。

第四步:

配置好了solrhome还不行,这个时候跟solr的服务器(前面整的tomcat)没任何关系,所以需要告诉tomcat这个solrhome所在的位置。在apache-tomcat-8.0.45\webapps\solr\WEB-INF下修改web.xml,告诉solrhome的位置



到这里就配置完了。然后启动tomcat



启动完之后访问:localhost:8080/solr

如果能看到solr的后台管理界面说明就成功了。



注意:我们用的中文,所以还需要配置中文分析器的,后面打算单独说这个。

2、Linux下安装配置solr

其实会windos下安装配置solr,会linux基本操作的同学完全能够自己在linux环境下安装配置solr。

第一步:

用工具(如ssh)将下载的tomcat跟solr上传到linux并且解压缩(我上传到了usr目录下,注意上传的压缩包要求是linux下的,不要用什么solr-4.10.3.zip这类,一般是xx.tar.gz这种)。创建文件夹solr。将tomcat跟solr-4.10.3拷贝到该文件夹下,这个跟windows下是一样的。

[root@solr usr]# mkdir /usr/local/solr
[root@solr usr]# cp apache-tomcat-7.0.47 /usr/local/solr/tomcat -r(复制目录需要-r)
将solr部署到tomcat并且改名字(改名字只是为了方便,不是必须的)
[root@solr usr]# cd solr-4.10.3/dist
[root@solr dist]# ll
总用量 33856
-rw-r--r--. 1 root root 29741796 12月 10 2014 solr-4.10.3.war
-rw-r--r--. 1 root root    17631 12月 10 2014 solr-analysis-extras-4.10.3.jar
....一堆jar包
[root@solr dist]# cp solr-4.10.3.war /usr/local/solr/tomcat/webapps/solr.war


第二步:

启动tomcat,从而解压缩solr.war。加压缩完之后关闭tomcat,删除solr.war

cd /usr/local/solr
[root@solr solr]# ll
总用量 8
drwxr-xr-x. 4 root root 4096 6月  29 16:39 solrhome
(这个solrhome是后面创建出来的)
drwxr-xr-x. 9 root root 4096 6月  29 16:24 tomcat
[root@solr solr]# cd tomcat
[root@solr tomcat]# bin/startup.sh
[root@solr tomcat]# tail -f logs/catalina.out
…
信息: Server startup in 41004 ms
(说明tomcat起来了)
就表示解压缩完毕了,关掉tomcat
[root@solr tomcat]# bin/shutdown.sh


第三步:

把/usr/solr-4.10.3/example/lib/ext目录下的所有的jar包,添加到solr工程中

[root@solr tomcat]# cd /usr/solr-4.10.3/example/lib/ext
[root@solr ext]# ll
总用量 552
-rw-r--r--. 1 root root  16515 2月   6 2014 jcl-over-slf4j-1.7.6.jar
-rw-r--r--. 1 root root   4959 2月   6 2014 jul-to-slf4j-1.7.6.jar
-rw-r--r--. 1 root root 489884 5月  26 2012 log4j-1.2.17.jar
-rw-r--r--. 1 root root  28688 2月   6 2014 slf4j-api-1.7.6.jar
-rw-r--r--. 1 root root   8869 2月   6 2014 slf4j-log4j12-1.7.6.jar
[root@solr ext]# cp * /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib


第四步:

创建一个solrhome。

/example/solr目录就是一个solrhome。复制此目录到/usr/local/solr/solrhome

[root@solr ext]#cd /usr/local/solr
[root@solr solr]#mkdir solrome

[root@solr solr]#cd /usr/solr-4.10.3/example
[root@solr example]# cp -r solr /usr/local/solr/solrhome
[root@solr example]# cd /usr/local/solr


第五步:

关联solr及solrhome。需要修改solr工程的web.xml文件。

指定solrhome位置

[root@solr solr]# vim tomcat/webapps/solr/WEB-INF/web.xml




启动tomcat查看日志

[root@solr bin]# ./startup.sh
[root@solr bin]# cd ..
[root@solr tomcat]# tail -f logs/catalina.out
八月 06, 2017 9:01:13 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory /usr/local/solr/tomcat/webapps/manager
八月 06, 2017 9:01:13 下午 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory /usr/local/solr/tomcat/webapps/examples
八月 06, 2017 9:01:13 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-bio-8080"]
八月 06, 2017 9:01:13 下午 org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["ajp-bio-8009"]
八月 06, 2017 9:01:13 下午 org.apache.catalina.startup.Catalina start
信息: Server startup in 22040 ms


启动成功了,访问solr,能看到后台管理页面说明成功了



按理说是安装配置成功了,但是实际上还需要配置中文分析器的,打算后面写。写安装配置这种东西是真的无聊而且看了也不一定会配,搭建集群看了更不会,建议还是找个视频看看。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: