zoukankan      html  css  js  c++  java
  • solr(二) : 整合ik-analyzer

    一. 问题:

    在使用solr时, 分词器解析中文的时候, 是一个一个字解析的. 这并不是我们想要的结果.

    而在lucene中, 使用的中文分词器是 IKAnalyzer. 那么在solr里面, 是不是任然可以用这个呢.

    二. 整合 ik

    1. 修改schema配置文件

    打开如下路径中的managed-schema.xml文件.

    在文档的最后面, 加入

     <!--新建 使用 ik 分词器 解析 的域类型, 分词,过滤都在类里面了-->  
      <fieldType name="text_ik_type" class="solr.TextField">   
          <analyzer type="index" useSmart="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>   
          <analyzer type="query" useSmart="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>   
      </fieldType>
      
      <!-- <fieldType name="text_ik_type" class="solr.TextField">   
      <analyzer type="index">
        <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
      </analyzer>
      <analyzer type="query">
        <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
      </analyzer>
      </fieldType> -->
    <!--支持ik分词器的域--> <field name="title_ik" type="text_ik_type" indexed="true" stored="true" /> <field name="content_ik" type="text_ik_type" indexed="true" stored="true" multiValued="true"/> <field name="text_ik" type="text_ik_type" multiValued="true" indexed="true" stored="true"/>

    2. 加入jar包

    在tomcat solr lib中加入ik分词器的jar包

    jar包可以在这里下载: http://download.csdn.net/download/z____l/10176803

    3. 加入分词器配置文件

    将前面lucene 里面出现过的 配置文件拷贝到 classes 文件夹下. 不拷贝也行, 自己新建也可以.

    由于这里我并没有使用文件夹装ext,stopword, 所以 IKAnalyzer.cfg.xml文件要做部分修改. 

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">  
    <properties>  
        <comment>IK Analyzer 扩展配置</comment>
        <!--用户可以在这里配置自己的扩展字典 -->
        <entry key="ext_dict">ext.dic</entry>
        
        <!--用户可以在这里配置自己的扩展停止词字典-->
        <entry key="ext_stopwords">stopword.dic</entry>
        
    </properties>

    三. 结果

  • 相关阅读:
    【转】【Egit】如何将eclipse中的项目上传至Git
    IntelliJ IDEA License Server本地搭建教程
    fastdfs-client-java工具类封装
    maven阿里云中央仓库
    Maven入门指南 :Maven 快速入门及简单使用
    如何在MyEclipse中配置jre的编译运行环境
    聚合函数 多次出现的某字段相同的记录。
    sql 过了试用期不能启动的,修改时间启动后还原。
    查看触发器内容
    Sql语句,先查询再插入一条语句完成。
  • 原文地址:https://www.cnblogs.com/elvinle/p/8127875.html
Copyright © 2011-2022 走看看