centos 7 linux 下安装部署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的话才能看到分词结果,妈的浪费了我好多脑细胞。

   



 

  

 

 

 其他:中文分词器下载地址https://github.com/zxiaofan/ik-analyzer-solr6/releases

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值