solr3.6+IKAnalyzer2012 安装配置说明

时间:2022-06-07 08:59:32

下载

地址:http://www.eng.lsu.edu/mirrors/apache/lucene/solr/

配置

修改tomcat安装目录下conf/server.xml,修改URIEncoding=”UTF-8”

<Connector port="8080"protocol="HTTP/1.1" 
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>

把下载的solr目录下的solr/dist目录下的apache-solr-3.6.0.war 重命名为solr.war

tomcat安装目录下conf/Catalina/localhost,新建solr.xml,目录不存在自行创建,内容如下:

<?xml version="1.0" encoding="UTF-8" ?>
<Context docBase="E:/solr/example/webapps/solr.war" reloadable="true">
<Environment name="solr/home" type="java.lang.String" value="E:/solr/example/solr" override="true" />
</Context>
这里的docBase写成你的solr文件夹下的example里的solr.war的绝对路径,同样,solr/home的value就是下载的solr/example里的solr文件夹的绝对路径
这里由于我用的是tomcat7,如果不把solr.war放在tomcat/webapps下,不知道把项目发布到哪里去了(找了很久没找到),最好是把solr.war放到webapps下面去,docBase指定该war包路径就好了。

启动tomcat,输入http://localhost:8080/solr,将会出现solr欢迎界面和入口

solr3.6+IKAnalyzer2012 安装配置说明

solr3.6+IKAnalyzer2012 安装配置说明


IKAnalyzer配置

把IKAnalyzer目录下IKAnalyzer2012.jar拷贝到$TOMCAT_HOME/webapps/solr/WEB-INF/lib下

配置schema.xml,编辑$TOMCAT_HOME/solr/conf/schema.xml,添加下面的fieldType

<fieldType name="text_chinese" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>

进入http://localhost:8080/solr/admin/analysis.jsp?highlight=on 打开切词页面,测试。

solr3.6+IKAnalyzer2012 安装配置说明

tips:我们在做项目的时候,整合solr进项目往往需要把schema.xml里面的默认的一些字段给索引字段给注释掉,这时候再启动服务器可能会出现一些问题,解决方法是把solr home目录config和schema.xml同级的elevate.xml里面的内容清空,同时把solrconfig.xml 里面的<str name="df">text</str> 这里的text改成你现在使用的索引字段,随便一个就好了,还有如果你的schema.xml里面 <defaultSearchField>text</defaultSearchField> 没有注释掉的话可能也会报错的,这里也改了就好了。