Solr 5.5.3配置ansj5.0.3

注:

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

导入jar包

  • 将如下的四个jar包放到E:\solr\server\solr-webapp\webapp\WEB-INF\lib目录下。其中AnsjTokenizerFactory-5.5.3-5.0.3.jar是自己写的一个工厂打成的jar包。
    Solr 5.5.3配置ansj5.0.3_第1张图片

导入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分词插件扩展

你可能感兴趣的:(Solr)