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服务器下载

在 2017年LinuxIDC.com//12月/CentOS 7 下安装部署Solr 6.6/

------------------------------------------分割线------------------------------------------ 

猜你喜欢

转载自www.linuxidc.com/Linux/2017-12/149898.htm