CentOS 7 下安装部署Solr 6.6
记录在CentOS 7 下安装部署Solr 6.6过程步骤,仅供参考。
1.准备工作
下载jdk rpm包
下载solr 6.6 linux压缩包,我这里是solr-6.6.2.gz
下载附件中的压缩包,里面包含中文分词器和搜狗汉字词典文件。
2. ssh 到Linux ,开始
2.1 安装配置JDK
yum install jdk-8u151-linux-x64.rpm
2.2 配置全局环境变量
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_151
export JRE_HOME=/usr/java/jdk1.8.0_151/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar:
保存文件后执行source /etc/profile使配置立即生效。
2.3 抽取solr安装脚本
tar zxvf solr-6.6.2.gz solr-6.6.2/bin/install_solr_service.sh --strip-components=2
2.4 改名安装文件并安装
mv solr-6.6.2.gz solr-6.6.2.tgz
sudo bash ./install_solr_service.sh solr-6.6.2.tgz -i /opt -d /var/solr -u solr -s solr -p 8983
到这solr安装完毕,下面是创建core过程
2.5 创建自己的core,名称叫做mycore
su - solr -c '/opt/solr/bin/solr create -c mycore -p 8983'
2.6 复制中文分词器及配置参数进去
mkdir /tmp/ik
unzip solr6.6ik.zip -d /tmp/ik #这个zip就是本文附件里面的
cd /tmp/ik
cp *.jar /opt/solr/server/solr-webapp/webapp/WEB-INF/lib/
mkdir /opt/solr/server/solr-webapp/webapp/WEB-INF/classes
cp *.dic /opt/solr/server/solr-webapp/webapp/WEB-INF/classes
cp IKAnalyzer.cfg.xml /opt/solr/server/solr-webapp/webapp/WEB-INF/classes/
#其实下面这个不复制也可以,这个是 solr自带的中文分词器,和ik分词器是同级的
cp /opt/solr/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-6.6.2.jar /opt/solr/server/solr-webapp/webapp/WEB-INF/lib/
2.7 修改mycore配置参数文件,加载中文分词器
vi /var/solr/data/mycore/conf/managed-schema
在最后的</schema>前面一行插入以下内容:
<fieldType name="text_smartcn" class="solr.TextField" positionIncrementGap="0">
<analyzer type="index">
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
</fieldType>
<fieldType name="text_pinyin" class="solr.TextField" positionIncrementGap="0">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
<filter class="com.shentong.search.analyzers.PinyinTransformTokenFilterFactory" minTermLenght="2" />
<filter class="com.shentong.search.analyzers.PinyinNGramTokenFilterFactory" minGram="1" maxGram="20" />
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" useSmart="false" >
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory"/>
<filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
</analyzer>
<analyzer type="query" useSmart="true" >
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory"/>
<filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
</analyzer>
</fieldType>
注意那个text_smartcn是solr自带的分词器用的,你要是没有复制solr自带的分词器就把那个配置去掉。
2.8 重启solr服务
service solr stop; service solr start;
2.9 用浏览器访问solr服务器做测试
防火墙把8983端口给放开
iptables -I INPUT -p tcp --dport 8983 -j ACCEPT
/etc/rc.d/init.d/iptables save
然后开非IE内核浏览器去访问 http://ip地址:8983/solr
这里有个巨大的问题就是用IE的话是不行的,要使用chrome才能看到分词结果。
附:中文分词器下载地址
------------------------------------------分割线------------------------------------------
也可以到安科网1号FTP服务器下载
------------------------------------------分割线------------------------------------------