solr8安装(基于jetty的linux安装)及数据库配置和高亮配置

1.准备软件

    jdk8

 最新solr页面https://lucene.apache.org/solr/mirrors-solr-latest-redir.html

下载https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/8.5.2/solr-8.5.2.tgz

​​​我用的盘是:/home/peiyajie

2.安装:

解压:tar -zxvf solr-8.5.2.tgz

./bin/solr start

即可访问:http://10.217.37.28:8983/solr然后出现solr管理页面

 

3.新建core及导入数据,就相当于不同的数据库

在路径/home/peiyajie/solr-8.5.2/server/solr下面新建peiyajieCore

然后复制配置

cp -rf /home/peiyajie/solr-8.5.2/server/solr/configsets/_default/conf /home/peiyajie/solr-8.5.2/server/solr/peiyajieCore

在conf文件夹下面新建文件data-config.xml并赋予内容

<?xml version="1.0" encoding="UTF-8"?>

<dataConfig>

    <dataSource name="smartcare" 

              type="JdbcDataSource"

              driver="com.mysql.cj.jdbc.Driver"

              url="jdbc:mysql://10.217.56.131:3306/iem?serverTimezone=Asia/Shanghai&amp;characterEncoding=utf8&amp;allowMultiQueries=true&amp;useSSL=false"

              user="brt"

              password="brt123456" />

    <document>

   <entity name="role" dataSource="smartcare"  query="select role_id,role_name,role_code from sys_role">

             <field column="role_id" name="roleId"/>

             <field column="role_name" name="roleName"/>

             <field column="role_code" name="roleCode"/>

      </entity> 

    </document>

</dataConfig>

在solrconfig.xml文件里面的/select上面新增

  <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">

       <lst name="defaults">

          <str name="config">data-config.xml</str>

       </lst>

  </requestHandler>

还有导入数据和mysql连接的jar

/home/peiyajie/solr-8.5.2/dist 的solr-dataimporthandler-8.5.2.jar  和solr-dataimporthandler-extras-8.5.2.jar复制到

/home/peiyajie/solr-8.5.2/server/solr-webapp/webapp/WEB-INF/lib

mysql-connector-java-8.0.19.jar和数据库匹配的连接jar

重启服务既可以完成数据导入

     

第一次用全量,第二次用增量接口 

4.加入中文分析器及高亮配置

分析器jar

cp /home/peiyajie/solr-8.5.2/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-8.5.2.jar /home/peiyajie/solr-8.5.2/server/solr-webapp/webapp/WEB-INF/lib

managed-schema文件里面新增

    <field name="roleId" type="pint" indexed="true" stored="true"/>

    <field name="roleName" type="text_ik" indexed="true" stored="true"/>

    <field name="roleCode" type="string" indexed="true" stored="true"/>

    <field name="keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>

    <copyField source="roleName" dest="keywords"/>

 

    <fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100">

      <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>

重新启动,删除原来数据完成,导入数据功能,即可高亮显示

总结:高亮就是根据查询,将结果相关结果特殊字体展示,没有中文分析器也可以完成,只是不进行单词拆分高亮

如果单词拆分高亮,就应该将type="text_ik"这个值

对于copyfeild就相当与组合的作用,将一个属性组合成多个,然后集体高亮展示。

高亮属性 stored="true"一定为true

复合copy的查询:

https://blog.csdn.net/qq_37334135/article/details/76849602

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值