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

摘要: 中文分词库 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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cj96248

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值