共计 3580 个字符,预计需要花费 9 分钟才能阅读完成。
记录在 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 才能看到分词结果。
附:中文分词器下载地址
—————————————— 分割线 ——————————————
也可以到 Linux 公社 1 号 FTP 服务器下载
FTP 地址:ftp://ftp1.linuxidc.com
用户名:ftp1.linuxidc.com
密码:www.linuxidc.com
在 2017 年 LinuxIDC.com//12 月 /CentOS 7 下安装部署 Solr 6.6/
下载方法见 http://www.linuxidc.com/Linux/2013-10/91140.htm
—————————————— 分割线 ——————————————
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-12/149898.htm