Linux下搭建单机版solr并配置简单的中文分词器
(一)部署solr工程到tomcat并能够进行正常的访问1.确保Linux虚拟机已经安装了jdk、tomcat。
2.将solr-4.10.3.tgz上传到Linux,并解压该包(可以事先建好一个文件夹)
# tar -zxvf solr-4.10.3.tgz
3.把solr-4.10.3/dist/solr-4.10.3.war包部署到tomcat/webapps下,并改名为solr.war(不是必须改名的)
# cp solr-4.10.3.war /usr/tomcat/apache-tomcat-7.0.70/webapps/solr.war
4.解压war包,启动tomcat自动解压。先将tomcat关闭,然后删除solr.war包
# ./bin/shutdown.sh
# rm -rf solr.war
5.把solr-4.10.3/example/lib/ext 目录下所有的jar包复制到solr工程中。
# cp * /usr/tomcat/apache-tomcat-7.0.70/webapps/solr/WEB-INF/lib/
6:创建solrhome文件夹,solrhome是存放solr服务器所有配置文件的目录。
# pwd
/usr/solr/solr-4.10.3/example/solr
# cp -r * /usr/solr/solrhome/
注:1.solr-4.10.3/example/solr 文件夹里的所有东西组成一个solrhome(即solr的家)
2.先进入到solr的家的目录下
3.执行命令:cp -r * /usr/solr/solrhome/(-r表示递归拷贝,即带文件夹拷贝)
7:告诉solr服务器solrhome的位置,需要修改solr工程的web.xml文件。
a.先进入到solr工程的web.xml所在的文件夹
# pwd
/usr/tomcat/apache-tomcat-7.0.70/webapps/solr/WEB-INF
b.# vim web.xml
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/solr/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
8.启动tomcat,浏览器进行访问http://192.168.20.128:8080/solr
(二)配置IK中文分词器,扩展词典,及停用词典
1.上传IKAnalyzer的jar包到linux虚拟机
2.把分词器的jar包IKAnalyzer2012FF_u1.jar拷贝到solr工程中
# cp IKAnalyzer2012FF_u1.jar /usr/tomcat/apache-tomcat-7.0.70/webapps/solr/WEB-INF/lib/
3.把IKAnalyzer需要的扩展词典及停用词词典、主配置文件复制或移动到solr工程的classpath中(如果没有classes文件夹则新建)
# mkdir /usr/tomcat/apache-tomcat-7.0.70/webapps/solr/WEB-INF/classes
# mv IKAnalyzer.cfg.xml mydict.dic stopword.dic /usr/tomcat/apache-tomcat-7.0.70/webapps/solr/WEB-INF/classes/
4.将IKAnalyzer.cfg.xml配置文件配置正确,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置自己的扩展字典-->
<entry key="ext_dict">mydict.dic;</entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">stopword.dic</entry>
</properties>
5.修改schema.xml文件,配置fieldType,需要在solrhome/collection1/conf/schema.xml中配置
<fieldType name="text_ik">
<analyzer/>
</fieldType>
测试:可以自己新增一个field域(字段) 类型为text_ik
<field name="my_name" type="text_ik" indexed="true" stored="true" multiValued="false" />
页:
[1]