zoukankan      html  css  js  c++  java
  • 搭建solr8

    这里记录linux上的安装过程

    一、下载安装包

    https://lucene.apache.org/solr/downloads.html

    二、解压安装

    这里我放倒了/usr/local/solr目录下

    解压命令: tar -zxvf solr-xxx.tgz 

     这个时候其实solr就已经可以启动了。执行一下命令。

    /usr/local/solr/solr-8.1.1/bin solr start

    但是如果是用root用户启动给出一个提示,并终止运行,需要加上一个修饰 

    /usr/local/solr/solr-8.1.1/bin solr start -force

     这样就可以访问了。

    http://ip+:8983/solr

     接下来配置实例(solrcore)

    cd /usr/local/solr/solr-8.1.1/server/solr

    这里需要创一个实例的文件夹,我创建的是book。

    创建好了需要干一件惊天动地的大事儿了copy,洋气吧~~~~

    现在进到configsets文件夹下  cd /usr/local/solr/solr-8.1.1/server/solr/configsets  要复制的部分就是_default下的conf目录

    cp -r /usr/local/solr/solr-8.1.1/server/solr/configsets/_default/conf/ /usr/local/solr/solr-8.1.1/server/solr/sysuser

    然后需要把安装目下的dist目录中的solr-dataimporthandler-extras-xxx.jar、solr-dataimporthandler-8.1.1.jar复制到 /usr/local/solr/solr-8.1.1/server/solr-webapp/webapp/WEB-INF/lib 路径下

    此外因为要连接到数据还要一个mysql的驱动包mysql-connector-java-8.0.18.jar。顺便把中文分词器也扔进去 ik-analyzer-8.3.0.jar。这要差不多需要的依赖就配好了,接下来就是配置文件了。

    现在回到刚刚创建的实例的conf目录下 cd /usr/local/solr/solr-8.1.1/server/solr/sysuser/conf

    在solrconfig.xml中添加一下节点,注意一定与其他的类似节点同级 可以直接搜索/select,在该节点之上添加

    vi solrconfig.xml

       <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
            <lst name="defaults">
              <str name="config">data-config.xml</str>
            </lst>
         </requestHandler> 

    这里配置中配置了一个data-config.xml的配置文件,他是数据库的配置文件,默认是没有需要自己创建

    touch data-config.xml

     编辑该文件  vi data-config.xml

    添加以下内容

    <?xml version="1.0" encoding="UTF-8" ?>  
    <dataConfig>   
        <dataSource type="JdbcDataSource"   
                driver="com.mysql.jdbc.Driver"   
                  url="jdbc:mysql://127.0.0.1:3306/xuan?useUnicode=true&amp;characterEncoding=utf-8&amp;zeroDateTimeBehavior=convertToNull"   
                  user="root"   
                  password="lhfadmin"/>   
        <document>   
            <entity name="book" pk="id" transformer="DateFormatTransformer"  query="SELECT id,name,jianjie FROM book">

    <field name="userid" type="text_ik" indexed="true" stored="true"/>
    <field name="username" type="text_ik" indexed="true" stored="true"/>
    <field name="realName" type="text_ik" indexed="true" stored="true"/>
    <field name="phone" type="text_ik" indexed="true" stored="true"/>

            </entity>   
        </document>   
    </dataConfig>

    配置中文分词器,jar已经上边导入了,直接配置配置文件就好了

    vi managed-schema

    在最后便添加:

      <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>
        <!-- 这是IK配置域,在这里不重要-->
        <field name="title_ik" type="text_ik" indexed="true" stored="true"/>
        <field name="content_ik" type="text_ik" indexed="true" stored="true" multiValued="true"/>
         
        <!--这是配置从数据库拿出来的数据配置域 -->

        <field name="userid" type="text_ik" indexed="true" stored="true"/>
        <field name="username" type="text_ik" indexed="true" stored="true"/>
        <field name="realName" type="text_ik" indexed="true" stored="true"/>
        <field name="phone" type="text_ik" indexed="true" stored="true"/>

     这样就ok了,重启solr

    /usr/local/solr/solr-8.1.1/bin/solr restart -force

     如果这个位置没有刚才的实例,手动添加进去即可

    点击上边的add core,

     框红框的地方名字是一样的,和文件夹名字相同。剩下的没有改变就默认就好了。schema.xml和managed-schema可以理解成是一个玩意,不用理会。

    添加后实例后就需要导入数据库的数据了

    这个时候会发现并没有导入进去,看下日志发现

     然后在conf目录下添加 dataimport.properties文件即可

     然后重启

     重新导入

     这时查询可以看到导入的数据

  • 相关阅读:
    geoserver 地图性能和缓存
    geoserver PostGIS的安装和使用
    geoserver 数据图层输出格式
    Centos7Yum安装配置指定版本nginx
    Centos7Yum安装PHP7.2
    CentOS7 中把默认yum源更换成163源
    安装配置Elasticserch的方法
    redis的持久化(RDB&AOF的区别)
    LayerDate渲染多个class出现闪现问题的解决
    explain分析SQL语句详解
  • 原文地址:https://www.cnblogs.com/Tiandaochouqin1/p/12197035.html
Copyright © 2011-2022 走看看