一、下载Solr4.10.2
我们以Windows版本为例,solr-4.10.2.zip是目前最新版本,下载地址:
http://www.apache.org/dyn/closer.cgi/lucene/solr/4.10.2
二、 Solr安装:
1、解压solr-4.10.2.zip
2、将 solr-4.10.2/example/webapps/solr.war 拷贝到Tomcat的webapps目录下(如D:\apache-tomcat-7.0.57\webapps),重新启动Tomcat 并访问http://localhost:8080/(目的是解压solr.war),然后你会发现solr-4.10.2/example/webapps/下多了一个Solr的目录。
3、在D:\apache-tomcat-7.0.57\webapps\solr创建solr_home目录:
4、修改D:\apache-tomcat-7.0.57\webapps\solr\WEB-INF\web.xml 添加如下配置(apache-tomcat-7.0.56/webapps/solr/WEB-INF/web.xml)
配置solr home的地址:
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value> D:\apache-tomcat-7.0.57\webapps\solr\solr_home </env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
5、复制solr-4.10.2的solr-4.10.2/example/solr/ 所有内容copy到solr_home
6、复制solr-4.10.2的solr-4.10.2/example/lib/ext目录下所有文件
到 apache-tomcat-7.0.56/webapps/solr/WEB-INF/lib
复制solr-4.10.2的example/resources目录下的log4j.properties文件到Tomcat的lib下;
启动Tomcat。
访问:http://localhost:8080/solr 进入到管理界面
三、 集成ikanalyzer中文分词器
1、在谷歌http://code.google.com/p/ik-analyzer/downloads/list下载IK Analyzer 2012FF_hf1解压后得到如下目录结构:
2、将IKAnalyzer2012FF_u1.jar包copy到 apache-tomcat-7.0.56/webapps/solr/WEB-INF/lib 下。
在apache-tomcat-7.0.56/webapps/solr/WEB-INF/下创建classes目录
将IKAnalyzer.cfg.xml、stopword.dic copy到 apache-tomcat-7.0.56/webapps/solr/WEB-INF/classes
3、修改apache-tomcat-7.0.56/webapps/solr/solr_home/collection1/conf/schema.xml
在第一个节点内添加如下配置:
<fieldType name="text_ik" class="solr.TextField"> <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/> <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType>
将对应需要用ik分词的字段的type改为以上定义的name值 text_ik(大约120行处):
<field name="sku" type="text_en_splitting_tight" indexed="true" stored="true" omitNorms="true"/> <field name="name" type="text_ik" indexed="true" stored="true"/> <field name="manu" type="text_ik" indexed="true" stored="true" omitNorms="true"/>
配置完成,重启tomcat并访问http://localhost:8080/solr。 发现左边可以选择分词器
根据我们配置的中文分词器,选择Manu:
分析一个熊孩子造的句子:小明吃完水果然后喝水
发现非常智能的构建出关键词了。
centos下面的配置:
创建solr目录
/usr/local/solr/tomcat
复制tomcat到指定目录cp apache-tomcat-7.0.47 /usr/local/solr/tomcat -r
将解压后的war复制到tomcat运行目录下cp solr-4.10.3.war /usr/local/solr/tomcat/webapps/solr.war
启动tomcat解压war包 ./startup.sh
查看启动情况:tail -f logs/catalina.out
关闭tomcat:./shutdown.sh
删除war包:rm -rf solr.war
复制lib包cp -f /root/solr-4.10.3/example/lib/ext/* /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib
创建solrhome:cp -r /root/solr-4.10.3/example/solr /usr/local/solr/solrhome
进入/usr/local/solr/tomcat/webapps/solr/WEB-INF/
修改web.xml中,注意去掉注释
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
然后启动,然后访问/solr/即可
配置分词
cp IKAnalyzer2012FF_u1.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib
在/usr/local/solr/tomcat/webapps/solr/WEB-INF/
创建mkdir classes
复制配置文件cp ext_stopword.dic IKAnalyzer.cfg.xml mydict.dic /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes
复制schema.xml到/usr/local/solr/solrhome/collection1/conf
cp -rf schema.xml /usr/local/solr/solrhome/collection1/conf
复制solrconfig.xml到/usr/local/solr/solrhome/collection1/conf
cp -rf solrconfig.xml /usr/local/solr/solrhome/collection1/conf
注意:小编在亲自配置业务域时,type制定需要使用自定义的FieldType“text_ik”,所以要修改schema.xml,但是需要注意的是,复制或者自己写时,都要保证文本格式和原文本一致,否则将会报以下错误。由于文本格式不对导致的错误,真的很难找出来呀。解决了很长时间才发现是这个问题。
如果文本格式不对,问题如下: