IKAnalyzer IK分词器
程序员文章站
2024-02-21 22:33:10
...
适用于Lucene5.3.1的IKAnalyzer
测试代码
/**
* IKAnalyzer 分词器测试
*/
@Test
public void testAnalyzer() throws Exception{
//创建一个分析器对象
Analyzer analyzer = new IKAnalyzer();
String text = "高富帅!lucene is a haha with then a是一个全文检索的高大上的工具包。";
System.out.println("当前使用的分词器" + analyzer.getClass().getSimpleName());
//获得tokenStream对象
//第一个参数:域名,可以随便给一个
//第二个参数:要分析的文本内容
TokenStream tokenStream = analyzer.tokenStream("content", text);
//添加一个引用,可以获得每个关键词
CharTermAttribute charTermAttribute = tokenStream.addAttribute(CharTermAttribute.class);
//将指针调整到列表的头部
tokenStream.reset();
//遍历关键词列表,通过incrementToken方法判断列表是否结束
while (tokenStream.incrementToken()) {
//取关键词
System.out.println(charTermAttribute);
}
//关闭流
tokenStream.close();
analyzer.close();
}
分词结果
当前使用的分词器IKAnalyzer
加载扩展词典:mine.dic
加载扩展停止词典:stopword.dic
高富帅
lucene
haha
全文
检索
高大上
高大
上
工具包
工具
包
可以自定义自己的字词典以及停用词词典。