Solr7.2配置中文分析器和自定义业务域

一、把中文分析器添加到工程中

  • 这里的前提是已经将Solr装配到tomcat中
  • 下载地址:https://pan.baidu.com/s/1n4OpAx-8hERTK2y1qjIt_w
  • 将解压的文件上传到Linux中
  • 打开上图的文件,找到如下图所示的一个文件,将这个文件配置到如下的目录中
  • 还在上述的目录中的一个jar包放到如下图的路径中
  • 进入solr-7.2.1\server\solr\articles\conf目录,用记事本或其他文本编辑器打开managed-schema文件,在截图中的位置添加如下代码【定义数据类型:配置一个FieldType,制定使用IKAnalyzer】
  • <!--配置了一个最简单的中文分析器-->
    <fieldType name="text_ik" class="solr.TextField">
        <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
    </fieldType>
  • 重启Tomcat
  • 打开网页:http://localhost:8080/solr/index.html
  • 到这里中文分析器就配置好了

二、配置自定义业务域

  • 需要拷贝一些Solr中的jar包到Tomcat中
  • cp /root/solr-7.2.0/dist/solr-dataimporthandler-7.2.0.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/
    
    cp /root/solr-7.2.0/contrib/analysis-extras/lucene-libs/* /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/
    
  • 进入/usr/local/solr/solrhome/new_core/conf/managed-schema
  • 并且添加TypeField
  • <!--可以使用最简单的中文分析器-->
        <!--配置了一个最简单的中文分析器-->
        <fieldType name="text_ik" class="solr.TextField">
            <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
        </fieldType>
    
    
    <!--也可以对中文分析器进行配置-->
        <!--配置中文分析器-->
        <!-- ChineseAnalyzer:
            分析器一般出现在2个环境:建索引(index)和查询(query),大多数情况下这2个场景的分析过程都是一样,也就是说用的是相同的分析器。但是,你仍然可以为2个不同的阶段指字不同的分析器:
        -->
        <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>
    
  • 还要添加业务域
  • <!--业务域-->
    <field name="item_title" type="text_ik" indexed="true" stored="true"/>
    <field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
    <field name="item_price"  type="plong" indexed="true" stored="true"/>
    <field name="item_image" type="string" indexed="false" stored="true" />
    <field name="item_category_name" type="string" indexed="true" stored="true" />
    <field name="item_desc" type="text_ik" indexed="true" stored="false" />
    
    <!--复制域:当我们向业务域添加数据的时候,它会自动把添加的数据复制到item——keywords上。
        本质上是对搜索的一个优化,把这些域都复制到keywords上,我们可以直接搜索keywords,只要在复制域包                
            含关键字,那么都能给你找出来
    -->
    <field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
    <copyField source="item_title" dest="item_keywords"/>
    <copyField source="item_sell_point" dest="item_keywords"/>
    <copyField source="item_category_name" dest="item_keywords"/>
    <copyField source="item_desc" dest="item_keywords"/>
    
  • 重启Tomcat
#关闭Tomcat的命令
/usr/local/solr/tomcat/bin/shutdown.sh

# 开启tomcat的命令
/usr/local/solr/tomcat/bin/startup.sh
  •  

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值