1.1 Windows下solr的配置:
一、solr基本配置:
1 . 首先安装jdk1.8和tomcat8
2 . 下载solr5.2.1压缩包 ,解压到G:\solr-5.2.1目录下
3 . 把G:\solr-5.2.1\server\webapps下的solr.war文件复制到tomcat的webapps目录下,我的目录地址是:G:\Java\apache-tomcat-8.5.4\webapps
4 .启动G:\Java\apache-tomcat-8.5.4\bin目录下的startup.bat ,这时G:\Java\apache-tomcat-8.5.4\webapps目录下会生成一个solr文件夹。关闭tomcat(G:\Java\apache-tomcat-8.5.4\bin目录下的shutdown,bat),删除G:\Java\apache-tomcat-8.5.4\webapps目录下的solr.war文件。
5 .把G:\solr-5.2.1\server目录下的solr文件复制到随便一个地方,并且修改文件名为solr_home,我的目录是:G:\Java\solr_home ,把G:\solr-5.2.1\example\example-DIH\solr目录下的db文件复制到G:\Java\solr_home目录下
6 .修改 G:\Java\apache-tomcat-8.5.4\webapps\solr\WEB-INF目录下的web.xml文件的如下代码:
<!--
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/put/your/solr/home/here</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
-->
改为:
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>G:\Java\solr_home</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
7 . 把G:\solr-5.2.1\server\lib\ext目录下的全部jar包复制到G:\Java\apache-tomcat-8.5.4\webapps\solr\WEB-INF\lib目录下,将G:\solr-5.2.1\server\resources目录下的log4j.properties放到G:\Java\apache-tomcat-8.5.4\webapps\solr\WEB-INF\classes目录下,如果classes文件夹不存在就手动新建一个。
8 . 测试:启动tomcat,在浏览器地址栏输入:http://localhost:8080/solr ,如果出现如下界面,说明配置成功。
9 .配置core:把name和instanceDir都改为db,点击Add Core。
二、分词器的使用:
1 .smart分词器配置:
1.1 . 将G:\solr-5.2.1\contrib\analysis-extras\lucene-libs下的lucene-analyzers-smartcn-5.2.1.jar复制到G:\Java\apache-tomcat-8.5.4\webapps\solr\WEB-INF\lib目录下
1.2 . 修改G:\Java\solr_home\db\conf目录下的schema.xml文件,添加如下代码:
<field name="text_smart" type="text_smart" indexed="true" stored="true" multiValued="true"/>
<fieldType name="text_smart" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/>
<filter class="solr.SmartChineseWordTokenFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/>
<filter class="solr.SmartChineseWordTokenFilterFactory"/>
</analyzer>
</fieldType>
2 .IK分词器:
2.1 下载支持solr5以上的IK中文分词器,解压,把jar包复制到G:\Java\apache-tomcat-8.5.4\webapps\solr\WEB-INF\lib目录下。
2.2 修改G:\Java\solr_home\db\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>
3 . smart和ik的区别:
每种分词器都有各自的优缺点,smart是solr自带分词器,对中文分词效果不太理想,IK对数字和字符串分词不理想,如下: