Lucene(八)拓展1-结巴分词(java版) jieba-analysis
程序员文章站
2022-03-04 23:28:52
...
GitHub地址:https://github.com/huaban/jieba-analysis
结巴分词(java版) jieba-analysis
首先感谢jieba分词原作者fxsjy,没有他的无私贡献,我们也不会结识到结巴 分词. 同时也感谢jieba分词java版本的实现团队huaban,他们的努力使得Java也能直接做出效果很棒的分词。
不过由于huaban已经没有再对java版进行维护,所以我自己对项目进行了开发。除了结巴分词(java版)所保留的原项目针对搜索引擎分词的功能(cutforindex、cutforsearch),我加入了tfidf的关键词提取功能,并且实现的效果和python的jieba版本的效果一模一样!
(以下内容在基于jieba-java版本README.md的基础上,加入了对我新加入的tfidf关键词提取模块的相关说明)
1.项目引入
<dependency>
<groupId>com.huaban</groupId>
<artifactId>jieba-analysis</artifactId>
<version>1.0.2</version>
</dependency>
2.demo
import com.huaban.analysis.jieba.JiebaSegmenter;
import com.huaban.analysis.jieba.SegToken;
import org.junit.Test;
import java.util.List;
public class TestJieBa {
//声明一个分词对象
private static JiebaSegmenter jiebaSegmenter=new JiebaSegmenter();
@Test
public void testJieBa(){
String content="首先感谢jieba分词原作者fxsjy,没有他的无私贡献,我们也不会结识到结巴 分词. 同时也感谢jieba分词java版本的实现团队huaban,他们的努力使得Java也能直接做出效果很棒的分词";
/**
* @Description:
* 参数1 要分词的内容
* 参数2:分词模式
*/
List<SegToken> tokens = jiebaSegmenter.process(content, JiebaSegmenter.SegMode.SEARCH);
for (SegToken token : tokens) {
System.out.println(token.word);
}
System.out.println("分词完成!"+"\n"+tokens.size());
}
}
搜索速度的提升
之前:是需要把数据库做一个全表的扫描
现在:直接通过计算hash值定位 值,在非常理想的情况下。他的速度,只计算一次
上一篇: 全文检索
下一篇: 正文卷 第四十五章 交换手抓饼