搜索引擎底层核心技术Lucune(四)-使用IKAnalyzer分词器

IKAnalyzer 是林良益开源的一个非常著名和老牌的 Java 中文分词库,目前 OSChina 网站也是使用 IK 分词器

巫师两年前做搜索的时候第一次用到IK分词器,还通过支付宝捐赠给作者一笔钱呢。遗憾的是IKAnalyzer在2012年停止了更新,巫师找到的版本号是IKAnalyzer2012FF_u1.jar。

将IKAnalyzer分词器安装到本地的maven仓库

由于在maven项目中使用,而IKAnalyzer有没有maven的依赖,就需要将IKAnalyzer安装到本地仓库。
前置条件:需要电脑上安装好了maven环境,能够执行mvn命令。

mvn install:install-file -Dfile=IKAnalyzer2012FF_u1.jar -DgroupId=org.wltea.ik-analyzer -DartifactId=ik-analyzer -Dversion=4.10.2 -Dpackaging=jar

参数说明:

  • -Dfile 是文件路径的意思,写全路径,本例需要更改。
  • -DgroupId 组织机构的名称,本例中不用更改
  • -DartifactId 一般项目的名称,本例中不用更改
  • -Dversion 安装到maven仓库的版本号,可更改,我随便写的。
  • -Dpackaging 安装包的类型

pom文件中的依赖信息

<!-- 这里的ik分词器的版本号没有对应ik真实的版本号。ik2012年就停止更新了 -->
        <dependency>
            <groupId>org.wltea.ik-analyzer</groupId>
            <artifactId>ik-analyzer</artifactId>
            <version>4.10.2</version>
        </dependency>

创建索引时的实例代码

    public void createIndexWithIkAnaylzer() throws Exception {
        // 1. Directory 是用来存储索引信息
        Directory d = FSDirectory.open(new File("index"));
        // 2. IKAnalyzer 主要是用来分词
        IKAnalyzer analyzer = new IKAnalyzer();
        // 3、在IndexWriterConfig 需要指定我们使用的分词器
        IndexWriterConfig conf = new IndexWriterConfig(Version.LATEST, analyzer);
        // 4、创建一个indexWriter,需要制定索引数据保存在哪里。 指定一个IndexWriterConfig.
        IndexWriter indexWriter = new IndexWriter(d, conf);
        // 5、创建一个Docment对象
        Document doc = new Document();
        doc.add(new IntField("id", 1, Store.YES));
        doc.add(new TextField("title", "我想学习大数据知识", Store.YES));
        doc.add(new TextField("content", "如何学大数据,大数据技术哪家强", Store.YES));

        // 6.为document创建索引。
        indexWriter.addDocument(doc);
        indexWriter.close();
    }

标签: none

相关文章推荐

添加新评论,含*的栏目为必填