Solr6适配升级版中文分词器IK Analyzer

来源:互联网 发布:淘宝的店铺的运营推广 编辑:程序博客网 时间:2024/05/16 12:54

摘要: 中文分词库 IKAnalyzer自2006年发布以后,被大量运用,但是目前已经没有更新了,因此不能很好的支持Solr6,为此,我修改了源码,使之兼容。

下载源码

  1. 开源地址: https://github.com/EugenePig/ik-analyzer-solr5
    说明:原本IK Analyzer应该为https://github.com/wks/ik-analyzer,但是由于太久没更新,这个源码升级跨度太大,于是我用的别人的代码ik-analyzer-solr5,这份代码源自于IK Analyzer_2012
  2. 环境与工具:JDK8,Eclipse4.5(带有git插件,Maven插件)
  3. 引入项目:Import – > Git – > Projects from Git – > Clone URI
  4. 修改pom.xml文件:将IK Analyzer直接升级为6.0.0,lucene和Solr的版本用6.0.0,此外lucene-analyzers和lucene-smartcn已经合并为lucene-analyzers-smartcn,将版本也定为6.0.0,修改完之后,转换成Maven项目,参见Solr6升级mmseg4j.
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>org.wltea.ik-analyzer</groupId>  <artifactId>ik-analyzer-solr6</artifactId>  <version>6.0.0</version>  <packaging>jar</packaging>  <name>ik-analyzer-solr6</name>  <url>http://code.google.com/p/ik-analyzer/</url>  <properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    <lucene.version>6.0.0</lucene.version>    <javac.src.version>1.8</javac.src.version>    <javac.target.version>1.8</javac.target.version>    <maven.compiler.plugin.version>3.3</maven.compiler.plugin.version>  </properties>  <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>4.11</version>      <scope>test</scope>    </dependency>    <dependency>      <groupId>org.apache.lucene</groupId>      <artifactId>lucene-core</artifactId>      <version>${lucene.version}</version>    </dependency>    <dependency>      <groupId>org.apache.lucene</groupId>      <artifactId>lucene-queryparser</artifactId>      <version>${lucene.version}</version>    </dependency>    <dependency>      <groupId>org.apache.lucene</groupId>      <artifactId>lucene-analyzers-common</artifactId>      <version>${lucene.version}</version>    </dependency>                       </dependencies>  <build>    <plugins>      <plugin>        <artifactId>maven-compiler-plugin</artifactId>    <configuration>      <target>${javac.src.version}</target>      <source>${javac.target.version}</source>        </configuration>        <version>${maven.compiler.plugin.version}</version>      </plugin>    </plugins>  </build></project>

升级代码

  1. Build项目:发现项目有中文注释视乱码,将项目编码改为UTF-8,
    这里写图片描述
    将Java版本升级为Java8,注意:Eclipse4.4以上才支持java8,。
  2. IKQueryExpressionParser.java:编译器直接报错,需要修改这个文件。
  3. 通过官方API,看到BooleanQuery的使用方法已经改变,将其改正。
    这里写图片描述
    改正后错误消失。
    这里写图片描述
  4. 重新打包,得到的jar文件。
  5. 我将代码放在了GitHub上:https://github.com/cj96248/ik-analyzer-solr6
1 0
原创粉丝点击