Solr 5.5.3配置ansj5.0.3

来源:互联网 发布:华能贵诚信托 知乎 编辑:程序博客网 时间:2024/05/22 06:41

注:

  1. 文章只是记录操作步骤,不适合入门教学
  2. 直接利用内置的jetty,不使用tomcat

导入jar包

  • 将如下的四个jar包放到E:\solr\server\solr-webapp\webapp\WEB-INF\lib目录下。其中AnsjTokenizerFactory-5.5.3-5.0.3.jar是自己写的一个工厂打成的jar包。
    这里写图片描述

导入ansj字典

  • 将从github上down下的ansj_seg源码中的library文件夹(其中包含三个文件ambiguity.dic、default.dic、synonyms.dic)拷贝到E:\solr\server\目录下,形成E:\solr\server\library。

  • 注1 : 可通过查看log的方式,查看字典是否加载成功。

建立停用词词典

  • 在E:\solr\server\library目录下,新建一个叫做stopwords.dic的停用词词典,其中存放停用词。

导入ansj配置文件

  • 将从github上down下的ansj_seg源码中的ansj_library.properties配置文件,拷贝到E:\solr\server\resources目录下

  • 注1: 亲测E:\solr\server\solr-webapp\webapp\WEB-INF\下新建classpath目录classes,并把properties配置文件拷贝到其中,并不能生效。

  • 注2:从5.0.x的版本开始,配置文件中userLibrary被替换为dic。

schema文件中如下配置

    <fieldType name="text_ansj" class="solr.TextField" positionIncrementGap="100">      <analyzer type="index">         <tokenizer class="org.ansj.ansj_solr5_plug.AnsjTokenizerFactory" isQuery="false" stopwords="library/stopwords.dic"/>      </analyzer>      <analyzer type="query">        <tokenizer class="org.ansj.ansj_solr5_plug.AnsjTokenizerFactory" stopwords="library/stopwords.dic"/>      </analyzer>    </fieldType>
  • 注1 : class所指向的工厂类,是自己写的。我封装在了AnsjTokenizerFactory-5.5.3-5.0.3.jar中。

  • 注2:isQuery和ik分词器的useSmart是一个意思。

  • 注3 : stopwords由自己写的AnsjTokenizerFactory工厂类去解析,指向停用词词典的位置。

参考文章

用于solr5的ansj分词插件扩展

1 0
原创粉丝点击