CentOS7下搭建Solr 6.6全文检索服务器及IK分词器配置

详细介绍在CentOS7下搭建Solr 6.6全文检索服务器及IK分词器配置过程步骤,希望对大家有所帮助。

1.安装准备

下载Tomcat8.5和solr6.6上传文件到CentOS并解压:
安装前请确保CentOS已安装过jdk。

[root@localhost solr]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

查看:

tar -zxvf apache-tomcat-8.5.16.tar.gz
tar -zxvf solr-6.6.0.tgz

[root@localhost solr]# ls
apache-tomcat-8.5.16  apache-tomcat-8.5.16.tar.gz  solr-6.6.0  solr-6.6.0.tgz

2.安装过程

将 solr 压缩包中 solr\server\solr-webapp\文件夹下有个webapp文件夹,将之复制到tomcat\webapps\目录下,文件夹名改成solr(可任意) ;

[root@localhost apache-tomcat-8.5.16]# cd /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/webapps/
[root@localhost webapps]# ls
docs  examples  host-manager  manager  ROOT  solr

将 solr 压缩包中 solr\server\lib\ext 中的 jar 全部复制到 Tomcat\ webapps\solr\WEB-INF\lib 目录中。

[root@localhost lib]# cp /usr/yong.cao/dev/solr/solr-6.6.0/server/lib/ext/* /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/webapps/solr/WEB-INF/lib/

将solr压缩包中solr/server/lib/metrics* 开头的jar全部复制到 Tomcat\ webapps\solr\WEB-INF\lib 目录中。

[root@localhost lib]# pwd
/usr/yong.cao/dev/solr/apache-tomcat-8.5.16/webapps/solr/WEB-INF/lib
[root@localhost lib]# cp /usr/yong.cao/dev/solr/solr-6.6.0/server/lib/metrics* .

在Tomcat\ webapps\solr\WEB-INF\下建立classes目录,并将solr/server/resources/log4j.properties文件复制其中。

cp log4j.properties /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/webapps/solr/WEB-INF/classes/

复制solr/server/solr/* 所有文件到tomcat/solrhome目录,用到创建solr的core时使用。

cp -rf * /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/solrhome/

配置Solr

编辑web.xml文件:
配置solr下core路径,初始状态下该内容是被注释掉的。

<env-entry>
    <env-entry-name>solr/home</env-entry-name>
        <env-entry-value>/usr/yong.cao/dev/solr/apache-tomcat-8.5.16/solrhome</env-entry-value>
    <env-entry-type>java.lang.String</env-entry-type>
</env-entry>

配置访问权限:找到如下内容,并注释掉:

<!--
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Disable TRACE</web-resource-name>
      <url-pattern>/</url-pattern>
      <http-method>TRACE</http-method>
    </web-resource-collection>
    <auth-constraint/>
  </security-constraint>
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Enable everything but TRACE</web-resource-name>
      <url-pattern>/</url-pattern>
      <http-method-omission>TRACE</http-method-omission>
    </web-resource-collection>
  </security-constraint>
  -->

设置solr开机启动:

vim /etc/rc.local

在后面添加:

export JAVA_HOME=/usr/java/jdk1.8.0_131
sh /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/bin/startup.sh

3.运行Solr

启动:

/usr/yong.cao/dev/solr/apache-tomcat-8.5.16/bin/startup.sh

访问solr服务器:
http://192.168.128.128:8080/solr/index.html
CentOS7下搭建Solr 6.6全文检索服务器及IK分词器配置

创建core:
1.新建collection1
2.solrhome\configsets\sample_techproducts_configs 文件夹,将此文件夹下的conf 目录拷贝到刚刚建立的collection1的文件夹下。

[root@localhost sample_techproducts_configs]# cd /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/solrhome/

[root@localhost solrhome]# mkdir collection1

[root@localhost collection1]# cp -r /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/solrhome/configsets/sample_techproducts_configs/conf/ .

3.访问管理页面,Add Core。
CentOS7下搭建Solr 6.6全文检索服务器及IK分词器配置
4.输入collection1做为name和instanceDir
CentOS7下搭建Solr 6.6全文检索服务器及IK分词器配置

4.IK中文分词器配置

下载solr6.6IK分词器

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

可以到安科网1号FTP服务器下载

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

下载后上传到CentOS并解压。

[root@localhost solr]# mkdir ik
[root@localhost solr]# cd ik/
[root@localhost ik]# cp /usr/yong.cao/ftp/ikanalyzer-solr6.6.zip .
[root@localhost ik]# ls
ikanalyzer-solr6.6.zip
[root@localhost ik]# unzip ikanalyzer-solr6.6.zip
Archive:  ikanalyzer-solr6.6.zip
   creating: ikanalyzer-solr5/
  inflating: ikanalyzer-solr5/ext.dic
  inflating: ikanalyzer-solr5/IKAnalyzer.cfg.xml
  inflating: ikanalyzer-solr5/stopword.dic
  inflating: ikanalyzer-solr5/solr-analyzer-ik-5.1.0.jar
  inflating: ikanalyzer-solr5/ik-analyzer-solr5-5.x.jar
[root@localhost ik]# ls
ikanalyzer-solr5  ikanalyzer-solr6.6.zip

将文件夹下的IKAnalyzer.cfg.xml , ext.dic和stopword.dic 三个文件 复制到/webapps/solr/WEB-INF/classes 目录下。

[root@localhost ikanalyzer-solr5]# cp ext.dic stopword.dic IKAnalyzer.cfg.xml /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/webapps/solr/WEB-INF/classes/

修改IKAnalyzer.cfg.xml(提供的下载包中该处已做修改)

<properties>
        <comment>IK Analyzer 扩展配置</comment>
        <!--用户可以在这里配置自己的扩展字典 -->
        <entry key="ext_dict">ext.dic;</entry>

        <!--用户可以在这里配置自己的扩展停止词字典-->
        <entry key="ext_stopwords">stopword.dic;</entry>

</properties>

复制solr-analyzer-ik-5.1.0.jar ik-analyzer-solr5-5.x.jar到/solr/apache-tomcat-8.5.12/webapps/solr/WEB-INF/lib/目录下。

[root@localhost ik]# ls
ikanalyzer-solr5  ikanalyzer-solr6.6.zip

[root@localhost ik]# cd ikanalyzer-solr5/

[root@localhost ikanalyzer-solr5]# ls
ext.dic             ik-analyzer-solr5-5.x.jar   stopword.dic
IKAnalyzer.cfg.xml  solr-analyzer-ik-5.1.0.jar

[root@localhost ikanalyzer-solr5]# cp ik-analyzer-solr5-5.x.jar solr-analyzer-ik-5.1.0.jar /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/webapps/solr/WEB-INF/lib/

在 solrhome\collection1\conf\managed-schema 文件前增加如下配置

<!-- IK分词器 -->
    <fieldType name="text_ik" class="solr.TextField">
      <analyzer type="index">
          <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/>
        </analyzer>
        <analyzer type="query">
          <tokenizer class="org.apache.lucene.analysis.ik.IKTokenizerFactory" useSmart="true"/>
      </analyzer>
    </fieldType>

命令操作如下:

[root@localhost ikanalyzer-solr5]# cp ik-analyzer-solr5-5.x.jar solr-analyzer-ik                                                                                        -5.1.0.jar /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/webapps/solr/WEB-INF/lib/

[root@localhost ikanalyzer-solr5]# cd /usr/yong.cao/dev/solr/apache-tomcat-8.5.1                                                                                        6/solrhome/collection1/conf/

[root@localhost conf]# ls
admin-extra.html              protwords.txt
admin-extra.menu-bottom.html  _rest_managed.json
admin-extra.menu-top.html     _schema_analysis_stopwords_english.json
clustering                    _schema_analysis_synonyms_english.json
currency.xml                  solrconfig.xml
elevate.xml                   spellings.txt
lang                          stopwords.txt
managed-schema                synonyms.txt
mapping-FoldToASCII.txt       update-script.js
mapping-ISOLatin1Accent.txt   velocity
params.json                   xslt

[root@localhost conf]# vim managed-schema

重启solr服务器,测试IK分词效果。

sh /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/bin/shutdown.sh
sh /usr/yong.cao/dev/solr/apache-tomcat-8.5.16/bin/startup.sh

CentOS7下搭建Solr 6.6全文检索服务器及IK分词器配置

更多Solr相关教程见以下内容

Solr 的详细介绍:请点这里
Solr 的下载地址:请点这里

相关推荐