简易Ikanalyzer+lucene教程 100%运行成功 博客分类: Ikanalyzer
*回顾一下。之前的需求,需要做一个数据比对,用到了ES。可惜,公司的框架并不支持ES的各种搜索。所以,我就对从ES拿出的数据再用lucene建立一遍索引。(很白痴的做法)但是网上的lucene教程我都没成功。而且,都没有例子源码下载。有时候,就是想用一个工具,但是虽然例子有了,但是自己无法运行起来是一件十分懊恼的事情。但是当运行起来,就感觉瞬间明白该工具是怎么回事。
1.在Eclipse建立maven项目(Ctrl+N,选择maven-----maven project)然后next,next,next,填入artifact id。
2.在pom加入Ikanalyzer和lucene依赖包(我就是在这里掉入坑,因为lucene的版本。所以这里统一用4.6的版本)
<!-- IK中文分词 --> <dependency> <groupId>com.janeluo</groupId> <artifactId>ikanalyzer</artifactId> <version>2012_u6</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-queries</artifactId> <version>4.6.1</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.lucene/lucene-core --> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>4.6.0</version> </dependency>
3.等待下载好依赖之后,结构如下:
其实,在IK分词里面就有一个结合lucene的例子,所以,我们需要把他拷贝出来。(这里也许需要eclipse读取.class文件的插件)
拷贝main方法,到app.java下面运行
4.点击“运行”,即可以看到分词结果和lucene建立的索引。
<!------------------------------------------------------------------------------------------------------------------------------------------>
IK自带的例子是建立了“内存索引”:RAMDirectory,如果需要把索引写入文件,只需要改成FDS即可,如下:
Directory directory = FSDirectory.open(new File("D:/lucene/luceneIndex2"));
到此结束。为了方便大家运行,代码下载如下:
https://share.weiyun.com/0f89a93ea80e816f2f2b9590c00203c4
短网址: