Linux下Solr单机版集群版安装与配置

Posted Kmily_Lee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下Solr单机版集群版安装与配置相关的知识,希望对你有一定的参考价值。

一、安装

1、需要的安装包有apache-tomcat-7.0.47.tar.gz、solr-4.10.3.tgz.tgz(jdk自行安装)

这里默认大家已经安装好jdk与tomcat,所以在这里不做说明,jdk安装点击这里,tomcat直接解使用。

 

2、解压solr的安装包,把tar -zxvf solr-4.10.3.tgz.tgz解压

[root@localhost local]# tar -zxvf solr-4.10.3.tgz.tgz

 

3、进入solr-4.10.3/dist下把solr-4.10.3.war复制到tomcat的webapps下面,并改名为solr.war

[root@localhost dist]# cp solr-4.10.3.war /usr/local/tomcat/webapps/solr.war

 

4、启动tomcat , war包自动解压,再把tomcat停止,删除solr.war包

进入/usr/local/tomcat/bin启动tomcat 
[root@localhost bin]# ./startup.sh 

停止tomcat
[root@localhost bin]# ./shutdown.sh 

进入/usr/local/tomcat/webapps
删除solr.war包
[root@localhost webapps]# rm -rf solr.war

 

5、把刚刚解压的solr目录下/usr/local/solr-4.10.3/example/lib/ext  ext文件夹里面的所以jar复制到tomcat里面solr工程的WEB-INF/lib/下面

[root@localhost ext]# cp * /usr/local/tomcat/webapps/solr/WEB-INF/lib/

 

 6、创建solrhome文件夹。

该文件夹用来存放solr服务器所有配置文件。

将solr-4.10.3/example中的solr文件夹复制至/usr/local/ 下面,并改名solrhome

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

 

7、在tomcat里面solr工程中的web.xml文件中指定solrhome的位置  要进入/usr/local/tomcat/webapps/solr/WEB-INF下才有web.xml文件

<env-entry>
    <env-entry-name>solr/home</env-entry-name>
    <env-entry-value>/usr/local/solrhome</env-entry-value>
    <env-entry-type>java.lang.String</env-entry-type>
</env-entry>

 

一开始这里是注释掉的,所以我们要去掉注释

 

 8、保存退出。启动tomcat

 

 9、在浏览器地址栏输入http://192.168.25.101:8080/solr   就可以看到页面了,说明安装成功。

 

 二、配置中文分析器   IK Analyzer

1、把IK Analyzer 2012FF_hf1文件夹上传到linux下。

 

 

2、IKAnalyzer2012FF_u1.jar 添加到tomcat下webapp中solr 工程的WEB-INF/ lib 目录下

[root@localhost IK Analyzer 2012FF_hf1]# cp IKAnalyzer2012FF_u1.jar /usr/local/tomcat/webapps/solr/WEB-INF/lib/

 

 3、在tomcat下webapp中solr 工程的WEB-INF/下创建classes文件夹  把扩展词典、停用词词典、配置文件放到 solr 工程的 WEB-INF/classes 目录下。

[root@localhost IK Analyzer 2012FF_hf1]# mkdir /usr/local/tomcat/webapps/solr/WEB-INF/classes
[root@localhost IK Analyzer 2012FF_hf1]# cp ext_stopword.dic IKAnalyzer.cfg.xml mydict.dic  /usr/local/tomcat/webapps/solr/WEB-INF/classes/

 

 4、在solrhome/collection1/conf/schema.xml中配置filedType,可直接在后面添加

[root@localhost solrhome]# vim solr/collection1/conf/schema.xml
<fieldType name="text_ik" class="solr.TextField">
        <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>

 

 

 

5、配置域

在solrhome/collection1/conf/schema.xml中配置,根据业务需要选择相应的字段对应solr的字段

<field name="item_goodsid" type="long" indexed="true" stored="true"/>
<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_price" type="double" indexed="true" stored="true"/>
<
field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category" type="string" indexed="true" stored="true" />
<
field name="item_seller" type="text_ik" indexed="true" stored="true" /> <field name="item_brand" type="string" indexed="true" stored="true" />

 

 

 

6、复制域

复制域的作用在于将某一个Field中的数据复制到另一个域中

<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_category" dest="item_keywords"/>
<copyField source="item_seller" dest="item_keywords"/>
<copyField source="item_brand" dest="item_keywords"/> 

 

7、动态域

当我们需要动态扩充字段时,我们需要使用动态域。

对于一些商城项目规格的值是不确定的,所以我们需要使用动态域来实现。需要实现的效果如下:

 

 

配置:

<dynamicField name="item_spec_*" type="string" indexed="true" stored="true" />    

 

8、保存退出,重启tomcat

 

以上是关于Linux下Solr单机版集群版安装与配置的主要内容,如果未能解决你的问题,请参考以下文章

Solr单机版和Solr集群版

Solr安装(单机版)

solrcloud(solr集群版)安装与配置

09.Solr单机版安装配置

solr学习(单机与集群部署)

linux下安装zookeeper(集群版)