jdk-8u151-linux-x64.tar.gz:下载地址 solr-7.1.0:下载地址 ik-analyzer-solr7.x.zip:下载地址java
因为 ik-analyzer的版本兼容问题,此处提供的能够兼容solr7.x,若是是其余版本的,请注意此问题。linux
新增配置/etc/profile以下:web
#set java environment
export JAVA_HOME=/usr/local/jdk1.8.0
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
复制代码
下载solr7.1后解压至须要放置的目录,我放在/usr/local/solr-7.1.0下,以下图: apache
将ik的jar文件 拷贝到 server/solr-webapp/webapp/WEB-INF/lib 目录下bash
cp ik-analyzer-solr7x.jar /usr/local/solr-7.1.0/server/solr-webapp/webapp/WEB-INF/lib
复制代码
将IKAnalyzer配置文件,停滞词词典拷贝到server/solr-webapp/webapp/WEB-INF/classes/服务器
cp stopword.dic IKAnalyzer.cfg.xml /usr/local/solr-7.1.0/server/solr-webapp/webapp/WEB-INF/classes/
复制代码
配置IKAnalyzer分词器的扩展词典,中止词词典oracle
<?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">ext.dic;</entry>
-->
<!--用户能够在这里配置本身的扩展中止词字典-->
<entry key="ext_stopwords">stopword.dic;</entry>
</properties>
复制代码
配置Solr文件引入IKAnalyzer模块 须要新建一个core模块,进行数据管理,新建命令以下:app
bin/solr create -c ifiction
复制代码
执行成功后会在/usr/local/solr-7.1.0/server/solr生成ifiction文件。 编辑/usr/local/solr-7.1.0/server/solr/ifiction/conf/managed-schema文件,添加下面代码引入IKAnalyzer模块:webapp
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
复制代码
配置须要分词的字段:summary测试
<field name="fid" type="pint" indexed="true" stored="true" multiValued="false" />
<field name="type" type="pint" indexed="true" stored="true" multiValued="false" />
<field name="title" type="string" indexed="true" stored="true" multiValued="false" />
<field name="cover" type="string" indexed="true" stored="true" multiValued="false" />
<field name="writer" type="string" indexed="true" stored="true" multiValued="false" />
<field name="tags" type="string" indexed="true" stored="true" multiValued="false" />
<field name="summary" type="text_ik" indexed="true" stored="true" multiValued="false" />
<field name="updateline" type="pint" indexed="true" stored="true" multiValued="false" />
<field name="sort_base" type="pint" indexed="true" stored="true" multiValued="false" />
<!-- This can be enabled, in case the client does not know what fields may be searched. It isn't enabled by default because it's very expensive to index everything twice. -->
<copyField source="title" dest="_text_"/>
<copyField source="writer" dest="_text_"/>
<copyField source="tags" dest="_text_"/>
<copyField source="summary" dest="_text_"/>
复制代码
配置完成须要重启solr引擎,sudo /usr/local/solr-7.1.0/bin/solr restart -force。 说明: (1)type="text_ik",是引入IKAnalyzer模块时的name配置的,下面测试solr的中文分词以下图:
至此,solr引擎及中文分词的模块搭建也就所有完成。