最近又开始研究lucene了 真他妈的折腾 太久没用都基本忘光了。
正文:
1.paoding的jar包只支持了lucene2的,官方上说如果要用for lucene3的,需要直接从svn check下来,这里需要注意。
2.由于功能上的需要,自己加了一个健康类的词库,这里需要注意两点:
a.加了词库后,需要把class/dic里面的.compiled文件夹删除,因为paoding在第一次执行时会把所有的词库都编译一次,似乎这么做是为了提高解析的执行效率。
b.词库编译最好使用SortingDictionariesCompiler这个类编译,需要修改paoding-analyzer.properties,把其中paoding.analyzer.dictionaries.compiler这个值去掉注释。
之所以这么做是因为如果使用默认的MostWordsModeDictionariesCompiler这个类编译的话,有些长词都被切分为小词,对于搜索,可能导致结果不准确。
如:“朝阳区慈济医院”这个词如果用MostWordsModeDictionariesCompiler编译词库,切分出来的结果可能是“朝阳”“朝阳区”“慈济”“医院”但是“朝阳区慈济医院”就被吃了,但是如果用SortingDictionariesCompiler编译词库,切分出来的结果可能是“朝阳”“朝阳区”“慈济”“医院”“朝阳区慈济医院”,个人感觉这样比较符合要求。
代码上的区别:
SortingDictionariesCompiler
Dictionary vocabularyDictionary = dictionaries.getVocabularyDictionary();
File vocabularyFile = new File(compiledDicHomeFile, "vocabulary.dic.compiled");
sortCompile(vocabularyDictionary, vocabularyFile, charsetName);
MostWordsModeDictionariesCompiler
Dictionary vocabularyDictionary = dictionaries.getVocabularyDictionary();
File vocabularyFile = new File(compiledDicHomeFile, "vocabulary.dic.compiled");
compileVocabulary(vocabularyDictionary, knife, vocabularyFile, charsetName);
分享到:
相关推荐
《深入剖析:Lucene3与庖丁解牛中文分词器》 在信息技术飞速发展的今天,全文检索和搜索引擎已经成为日常开发中不可或缺的部分。Lucene作为一款强大的全文检索库,被广泛应用于各种信息检索系统中。然而,对于中文...
本文将深入探讨如何在Lucene中高效地进行中文分词,借助“庖丁解牛”的概念,以求在理解与应用上达到游刃有余的境地。 一、Lucene简介 Lucene是Java语言编写的一个高性能、可扩展的信息检索库,它提供了完整的搜索...
总的来说,结合Apache Lucene与庖丁解牛,可以构建出强大的中文全文检索系统。在实际应用中,理解并熟练运用这两者的结合,将极大地提升你的文本处理能力,为用户提供更加智能、精准的搜索体验。
《深入剖析Lucene3.0:庖丁解牛与索引搜索实践》 在IT行业中,搜索引擎技术扮演着至关重要的角色,而Lucene作为一个开源全文检索库,为开发者提供了强大的文本搜索功能。本文将深入探讨Lucene3.0版本,结合“庖丁解...
实例是一个java实例,可直接导入到MyEclipse中...其中是lucene3.0整合了庖丁解牛分词法,添加了高亮显示。因为lucene3.0无法整合paoding-analysis.jar 所以我已经把paoding-analysis中的源码整合进来了避免无法整合问题
对于中文来说,分词是Analyzer面临的最大挑战,因为中文没有明显的词边界,这与英文等其他语言有着显著的区别。 中文分词是Lucene处理中文文本时的重点。Lucene提供了多种Analyzer实现,其中最常用的便是`...
5. **扩展性强**:支持多种Lucene版本,易于与其他系统集成。 具体使用"paoding-analysis-2.0.4-alpha2"时,开发者需要将其引入项目,然后在Lucene的索引创建和查询过程中,指定使用这个分词器。通过设置Analyzer,...
在使用lucene3与paoding集成的时候可能会出现以下错误: Exception in thread "main" java.lang.AbstractMethodError: org.apache.lucene.analysis.TokenStream.incrementToken()Z at org.apache.lucene.index....
《Lucene技术解析与实战应用》 在信息技术领域,搜索引擎技术是不可或缺的一部分,而Lucene作为开源全文搜索引擎库,以其高效、灵活的特点被广泛应用。本文将深入探讨“Lucene加庖丁解牛测试类”,旨在帮助读者理解...
可以适用于lucene3.5的庖丁解牛分词器jar包
最新庖丁解牛分词法的使用demo,支持Lucene3.3、3.4等3.0以上版本,庖丁解牛的分词包为自己编译生成的,之前的2.0的版本不能支持Lucene3.0以上版本,所以需要从svn下载最新的庖丁解牛源码,生成jar文件(我同样已...
《使用Lucene最新版与庖丁解牛方法构建搜索引擎》 在信息技术日新月异的今天,搜索引擎已经成为了我们获取信息的重要工具。Apache Lucene是一个高性能、全文本搜索库,被广泛应用于各种搜索引擎的开发中。本文将...
《庖丁解牛 源码 for Lucene 2.4》是一份针对开源全文搜索引擎Lucene 2.4版本的深度解析资料。这个压缩包包含的文件名为"paoding-for-lucene-2.4",很可能是针对中文处理的Paoding Lucene库的源代码分析或扩展。...
庖丁分词与Lucene的集成,提高了分词效率,增强了搜索性能。对于Lucene 3.0,这是较早的一个版本,庖丁分词的优化确保了在该版本上的稳定性和兼容性。 3. **分词技术**: 中文分词是自然语言处理中的关键技术,...
资源为庖丁解牛分词法的最新源码以及生成的jar包,支持最新的Lucene3.4以及Lucene3.0以上版本。Jar包为本地生成,大家也可以到SVN上检出自己生成,另外庖丁解牛分词法的使用Demo我会接下来上传一份,欢迎分享。
标题中的“Lucene+compass+spring+jdbc+庖丁的一个例子”揭示了这是一个关于整合多个技术来构建一个搜索系统的示例。在这个系统中,我们有以下几个关键组件: 1. **Lucene**: Apache Lucene 是一个高性能、全文本...
在本文中,我们将深入探讨如何使用Lucene来实现一个类似当当网的企业产品检索系统,特别关注如何结合庖丁解牛分词器提升搜索体验。 首先,我们需要理解Lucene的基本工作原理。Lucene的核心是建立索引,将原始文本...
支持lucene3.0以上版本的分词器paoding的jar包还没有出来,只有源代码。我通过将源代码打包得到此jar.并且测试过。可以和当前最新版本的lucene3.6整合
庖丁分词 使用 paoding-analysis-2.0.4-beta.zip 版时异常 Exception in thread "main" java.lang.AbstractMethodError: org.apache.lucene.analysis.TokenStream.incrementToken()Z 换用svn里源码版正常 ...
3. **可扩展性**:除了基础的分词功能,庖丁分词还提供了词性的标注、新词发现等高级特性,可以方便地与其他自然语言处理任务结合。 在压缩包子文件的文件名称列表中: - `Paoding中文分词参考手册.htm`:这可能是...