linux系统搭建solr7服务及配置IK中文分词器(支持最新solr8)

目录

solr搭建步骤--环境准备

solr搭建步骤--安装

solr启动

IK中文分词器

IK中文分词器的添加,下载地址点击-->:ik-analyzer-solr7(支持solr8)

导入数据库数据到solr


solr搭建步骤--环境准备

输入:java -version 检查是否已安装jdk环境

solr搭建步骤--安装

  1. 将solr和tomcat安装包上传到/root/soft目下 使用tar命令解压 ,solr官网下载地址点击-->:solr7.7.1官方下载链接
    [root@localhost soft]# tar -xzf solr-7.7.1.tgz
    [root@localhost soft]# tar -xzf apache-tomcat-8.5.37
  2. 把solr部署到tomcat下,在/usr/local下创建solr文件夹,将解压的tomcat复制到solr目录下,并给tomcat重命名
    [root@localhost soft]# mkdir /usr/local/solr
    [root@localhost soft]# cp apache-tomcat-8.5.37 /usr/local/solr/ -r
    [root@localhost soft]# cd /usr/local/solr/
    [root@localhost solr]# mv apache-tomcat-8.5.37/ tomcat8.5
    

     

  3. 在tomcat,webapps目录下创建solr目录, 并将solr-7.7.1/server/solr-webapp/webapp/* 目录下的所有内容拷贝过去
    [root@localhost solr]# cd /usr/local/solr/tomcat8.5/webapps/
    [root@localhost webapps]# mkdir solr
    [root@localhost webapps]# cp /root/soft/solr-7.7.1/server/solr-webapp/webapp/* /usr/local/solr/tomcat8.5/webapps/solr/ -r
    

     

  4. 将【solr-7.7.1\server\lib\ext】下的所有jar包以及【solr-7.7.1\server\lib】下所有metrics-开头的jar包(一共有5个) 和gmetric4j-1.0.7.jar拷贝到【tomcat8.5\webapps\solr\WEB-INF\lib】
    [root@localhost webapps]# cd /root/soft/solr-7.7.1/server/lib/ext/
    [root@localhost ext]# cp * /usr/local/solr/tomcat8.5/webapps/solr/WEB-INF/lib/
    [root@localhost lib]# cp metrics-* /usr/local/solr/tomcat8.5/webapps/solr/WEB-INF/lib/
    root@localhost lib]# cp gmetric4j-1.0.7.jar /usr/local/solr/tomcat8.5/webapps/solr/WEB-INF/lib/

     

  5. 将【solr-7.7.1\server\resources】下的log4j2.xml配置文件拷贝到 【tomcat8.5\webapps\solr\WEB-INF\classes】下如果WEB-INF下没有classes文件那么就创建一个classes文件夹
    [root@localhost WEB-INF]# mkdir classes
    [root@localhost WEB-INF]# cp /root/soft/solr-7.7.1/server/resources/log4j2.xml classes/

     

  6. 在【user\local\solr】下新建一个文件夹【solrhome(文件夹名称可以任意命名)】, 将【solr-7.7.1\server\solr】下的所有文件拷贝到刚刚创建的solrhome中。
    [root@localhost resources]# cp /root/soft/solr-7.7.1/server/solr/* /usr/local/solr/solrhome/ -r

     

  7. 修改【tomcat8.5\webapps\solr\WEB-INF】下的web.xml,找到如下代码,如果没有则自己添加如下代码:
    <!-- 修改solrhome路径为自己所创建路径 -->
      <env-entry>
        <env-entry-name>solr/home</env-entry-name>
        <env-entry-value>/usr/local/solr/solrhome</env-entry-value>
        <env-entry-type>java.lang.String</env-entry-type>
      </env-entry>

     

  8. 同时将web.xml里面的 <security-constraint>安全验证内容注释掉

solr启动

启动tomcat:
[root@localhost bin]# ./startup.sh

在浏览器中输入地址:http://192.168.17.133:8080/solr/index.html 即可访问solr管理界面

IK中文分词器

IK中文分词器的添加,下载地址点击-->:ik-analyzer-solr7(支持solr8)

 点击Add Core这个时候会报错,但是在solrhome下依旧会创建collection

解决办法:将server/solr/configsets/_default/conf/下的内容全部复制到创建的collection下  

[root@localhost collection]# cp /root/soft/solr-7.7.1/server/solr/configsets/_default/conf/ ../collection/ -r
  1. 指定中文分析器,把 ik-analyzer-7.7.1.jar 添加到solr工程的lib目录下/usr/local/solr/tomcat8.5/webapps/solr/WEB-INF/lib
  2. 把扩展词典、配置文件放到solr工程的WEB-INF/classes目录下。
    `ik.conf`文件说明:
        ```console
        files=dynamicdic.txt
        lastupdate=0
        ```
        1. `files`为动态词典列表,可以设置多个词典表,用逗号进行分隔,默认动态词典表为`dynamicdic.txt`;
        2. `lastupdate`默认值为`0`,每次对动态词典表修改后请+1,不然不会将词典表中新的词语添加到内存中。
    <s>`lastupdate`采用的是`int`类型,不支持时间戳,如果使用时间戳的朋友可以把源码中的`int`改成`long`即可;
    </s> `2018-08-23` 已将源码中`lastUpdate`改为`long`类型,现可以用时间戳了。

     

  3. 指定中文分析器,将如下配置信息添加到managed-schema中
        <!-- ik分词器 -->
        <fieldType name="text_ik" class="solr.TextField">
          <analyzer type="index">
              <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
              <filter class="solr.LowerCaseFilterFactory"/>
          </analyzer>
          <analyzer type="query">
              <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
              <filter class="solr.LowerCaseFilterFactory"/>
          </analyzer>
        </fieldType>

     

  4. 重启tomcat,即可。
  5. 重新启动tomcat,再次访问solr,并测试IK分词器,在Filed Value下输入文字,点击Analyse Values

导入数据库数据到solr

mysql官方下载地址点击-->:mysql5.1.47官方下载链接 

  1. 点击导入数据,显示如上图所示错误,因此需要先进行配置 1.在/usr/local/solr/solrhome/collection/conf目录下创建一个文件data-config.xml,与solrconfig.xml同级
  2. 修改/usr/local/solr/solrhome/collection/conf目录下的solrconfig.xml,加上下面代码段
    <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
           <lst name="defaults">
              <str name="config">data-config.xml</str>
           </lst>
      </requestHandler>

  3. 打开data-config.xml文件,配置相关的数据库属性,即我们要导入那张表的哪些字段,内容如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <dataConfig>
        <dataSource type="JdbcDataSource"
                    driver="com.mysql.jdbc.Driver"
                    url="jdbc:mysql://localhost:3306/test2_ru?autoReconnect=true"
                    user="root"
                    password="123456"
    batchSize="-1"  />
        <document>
            <entity name="user" query="select * from user">
                <field column="id" name="id" />
                <field column="username" name="username" />
                <field column="number" name="number" />
            <field column="gender" name="gender" />
            </entity>
        </document>
    </dataConfig>
    

     

  4. 将solr-7.7.1\dist目录下的solr-dataimporthandler-7.7.1.jar、solr-dataimporthandler-extras-7.7.1.jar 还有本地数据库驱动包mysql-connector-java-5.1.47.jar全部复制到 solr/tomcat8.5/webapps/solr/WEB-INF/lib下
  5. 重启tomcat,添加字段方式如下图,name需要和data-config.xml中配置的field中的name字段一致
  6. 添加完成,即可点击Dataimport导入数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值