如何使用lucene中的扩展词典
谢谢您的回答,我现在就想知道如何实现最简单的word、txt或者excel中的ctrl+F的功能??...
谢谢您的回答,我现在就想知道如何实现最简单的word、txt或者excel中的ctrl+F的功能??
展开
2个回答
展开全部
你可以使用一个开源的中文分词包MMAnalyzer,网上可以下到。在程序中引入此包。这个分词包的大概作用是:
1、支持英文、数字、中文(简体)混合分词
2、常用的数量和人名的匹配
3、超过22万词的词库整理
4、实现正向最大匹配算法
5、词典的动态扩展
6、分词效率: 第一次分词需要1-2秒(读取词典),之后速度基本与Lucene自带分词器持平。
具体方法:
Analyzer analyzer = new MMAnalyzer();
然后用这个analyzer的analyzer.tokenStream()来对某一个字符串进行分词(比如“中华人民共和国”,最终可以得出分词结果,有固定的类来表示结果,具体怎么写看其文档。
从这个例子来看,结果是“中华” “人民” “共和国”,利用某些类来迭代得出每一个词并存入Map中做key,每迭代出一个分词结果就在map中查找一下,若已有此词为key,则在value里加1。这样就实现了你的需求。
1、支持英文、数字、中文(简体)混合分词
2、常用的数量和人名的匹配
3、超过22万词的词库整理
4、实现正向最大匹配算法
5、词典的动态扩展
6、分词效率: 第一次分词需要1-2秒(读取词典),之后速度基本与Lucene自带分词器持平。
具体方法:
Analyzer analyzer = new MMAnalyzer();
然后用这个analyzer的analyzer.tokenStream()来对某一个字符串进行分词(比如“中华人民共和国”,最终可以得出分词结果,有固定的类来表示结果,具体怎么写看其文档。
从这个例子来看,结果是“中华” “人民” “共和国”,利用某些类来迭代得出每一个词并存入Map中做key,每迭代出一个分词结果就在map中查找一下,若已有此词为key,则在value里加1。这样就实现了你的需求。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询