最近做有关搜索引擎的项目,使用中文分词工具“庖丁解牛”。
配置过程如下:
下载地址:http://code.google.com/p/paoding/downloads/list]http://code.google.com/p/paoding/downloads/list
SVN地址:http://paoding.googlecode.com/svn/trunk/paoding-analysis/]http://paoding.googlecode.com/svn/trunk/paoding-analysis/
1. 将paoding-analysis.jar添加至项目的classpath路径下,
2. 将下载的庖丁zip压缩包下的dic文件夹拷至项目src文件夹下,或放置在磁盘某个位置,如F:/paoding-analysis/dic
3. paoding 比较麻烦的是要设置字典的环境变量,
* 一般做法是新建环境变量 PAODING_DIC_HOME 再加入字典路径(如 F:\paoding-analysis\dic)
这种方法在项目移位后还得配置字典环境,比较麻烦 ,可以直接
* 使用解压工具打开paoding-analysis.jar包,修改配置文件paoding-dic-home.properties
修改如下
#values are "system-env" or "this";
#if value is "this" , using the paoding.dic.home as dicHome if configed!
paoding.dic.home.config-fisrt=system-env
#dictionary home (directory)
#"classpath:xxx" means dictionary home is in classpath.
#e.g "classpath:dic" means dictionaries are in "classes/dic" directory or any other classpath directory
paoding.dic.home=D:/bookSearch/dic
#seconds for dic modification detection
#paoding.dic.detector.interval=60
以上配置是词典库dic在工程classpath下的情形,若词典库在别的地方,可如下配置:
#paoding.dic.home=dic修改成
paoding.dic.home=F:/paoding-analysis/dic即可
测试程序:
String IDNEX_PATH = "E:/paoding_test_index";
//获取Paoding中文分词器
Analyzer analyzer = new PaodingAnalyzer();
//建立索引
IndexWriter writer = new IndexWriter(IDNEX_PATH, analyzer, true);
Document doc = new Document();
Field field = new Field("content", "你好,世界!", Field.Store.YES,
Field.Index.TOKENIZED, Field.TermVector.WITH_POSITIONS_OFFSETS);
doc.add(field);
writer.addDocument(doc);
writer.close();
System.out.println("Indexed success!");
//检索
IndexReader reader = IndexReader.open(IDNEX_PATH);
QueryParser parser = new QueryParser("content", analyzer);
Query query = parser.parse("你好");
Searcher searcher = new IndexSearcher(reader);
Hits hits = searcher.search(query);
if (hits.length() == 0) {
System.out.println("hits.length=0");
}
Document doc2 = hits.doc(0);
//高亮处理
String text = doc2.get("content");
TermPositionVector tpv = (TermPositionVector) reader.getTermFreqVector(
0, "content");
TokenStream ts = TokenSources.getTokenStream(tpv);
Formatter formatter = new Formatter() {
public String highlightTerm(String srcText, TokenGroup g) {
if (g.getTotalScore() <= 0) {
return srcText;
}
return "<b>" + srcText + "</b>";
}
};
Highlighter highlighter = new Highlighter(formatter, new QueryScorer(
query));
String result = highlighter.getBestFragments(ts, text, 5, "…");
System.out.println("result:\n\t" + result);
reader.close();
在笔者项目运行时发生如下错误:
java.lang.VerifyError: Cannot inherit from finalclass
查资料发现,应把lucene包升级为2.2以上版本,更换后问题解决
自定义词库的方法
http://hi.baidu.com/xwx520/blog/item/c288ee3eb0f5b9f0838b137f.html
分享到:
相关推荐
通过阅读这个文件,开发者可以学习如何创建自己的词典文件,以及如何在庖丁解牛分词工具中进行配置,以充分利用自定义词库。 总的来说,理解和掌握自定义词库以及正确配置分词工具是提高中文文本处理效果的关键步骤...
"庖丁解牛工具"是一款基于Java开发的文本分析工具,尤其在中文分词领域有着广泛的应用。这个工具的名字来源于中国古代寓言故事“庖丁解牛”,寓意对文本的精细处理和深入理解,就像庖丁对牛肉的熟练切割一样。在IT...
"Linux驱动开发庖丁解牛系列"很可能是一个深入解析Linux驱动程序开发的教程或者一系列文档,旨在帮助开发者逐步理解并掌握这一复杂而重要的技术领域。 Linux驱动开发主要包括以下几个关键知识点: 1. **内核结构...
"庖丁解牛分词器"是一款著名的中文分词工具,源自开源社区,因其高效的性能和灵活的应用场景而广受欢迎。在深入理解其源码的过程中,我们可以了解到许多关于自然语言处理(NLP)和Java编程的知识点。 1. **中文分词...
"庖丁解牛"是一款专为中文处理设计的分词工具,其版本2.0.4-alpha2提供了更稳定和高效的分词体验。这个工具的核心功能是将中文文本拆分成有意义的词语,这对于中文信息处理、自然语言理解和搜索引擎优化等场景至关...
"庖丁解牛jarbao"是一个专为中文分词设计的工具,它的核心是"庖丁解牛中文分词器"。在Java开发环境中,它通常以jar包的形式提供,如"paoding-analysis - 3.1.jar",这表明它是基于Java语言实现的,并且是版本3.1的...
《庖丁解牛—纵向切入ASP.NET 3.5控件和组件开发技术》是一本深入探讨ASP.NET 3.5平台下控件与组件开发的专业书籍。此书以其独特的"庖丁解牛"比喻,旨在帮助开发者们精确、深入地理解和掌握控件和组件的开发技巧。...
由于庖丁官方目前提供可下载尚不支持Lucene 3.0以上版本。因此作者对paoding进行重新编译,使其与最新Lucene 3.0.1版本适用。 Latest paoding 3.0.1 for lucene 3.0.1 使用说明: 先下载2.0.4的版本(h t t p : / ...
《深入剖析Lucene:庖丁解牛分词法2.4版本》 在中文信息处理领域,Lucene作为一个强大的全文检索引擎库,扮演着至关重要的角色。然而,由于中文的复杂性,简单的英文分词策略无法满足需求,于是有了针对中文的分词...
庖丁解牛2_0_0版本可能提供了更加灵活的接口和配置选项,使得开发者可以根据企业的具体需求进行定制,比如添加自定义词典,调整分词策略等。这样的灵活性可以更好地适应不同行业的专业术语和特殊用法。 另外,考虑...
标题 "sorlr + tomcat+ 庖丁解牛中文分词 配置文档" 提到的是一个关于在Apache Solr中集成Tomcat服务器,并利用庖丁解牛中文分词工具进行中文处理的配置教程。这个配置过程对于搭建支持中文搜索的Solr环境至关重要。...
标题“庖丁解牛分析uboot”中的“庖丁解牛”是一个成语,比喻做事非常熟练,技术高超。在这个标题中,它指的是深入细致地分析U-Boot,就像庖丁解牛一样,对U-Boot的每一个细节都了如指掌。 U-Boot是一种常用的开源...
"Linux驱动开发庖丁解牛"是一份深入浅出的教程,旨在帮助开发者逐步掌握这一领域的核心技能。以下是根据标题、描述及提供的文件名所提炼的相关知识点: 1. **Linux驱动开发环境的搭建**: - 安装Linux发行版:通常...
《深入剖析:Lucene3与庖丁解牛中文分词器》 在信息技术飞速发展的今天,全文检索和搜索引擎已经成为日常开发中不可或缺的部分。Lucene作为一款强大的全文检索库,被广泛应用于各种信息检索系统中。然而,对于中文...
《庖丁解牛ASP.NET控件组件开发》是一本深入探讨ASP.NET自定义控件和组件开发的专业书籍。光盘示例源代码是书中的重要组成部分,为读者提供了丰富的实践案例,帮助理解并掌握控件组件开发的核心技术。在VS 2008环境...
"庖丁解牛分词" 是一款针对中文文本处理的分词工具,主要适用于Java环境。这个工具包的名称形象地借用中国古代故事“庖丁解牛”,寓意对文本的精细处理,如同庖丁对牛肉的熟练分解。在Java开发中,分词是自然语言...
《庖丁解牛—纵向切入ASP.NET 3.5控件和组件开发技术》是一本深入探讨ASP.NET 3.5平台下控件与组件开发的专业书籍。作者以庖丁解牛的精神,细致入微地剖析了ASP.NET 3.5中的核心技术,旨在帮助读者深入理解并熟练...
比如在声明式 Pipeline 中,可以指定保留多少个构建记录(`buildDiscarder`),设置超时策略(`timeout`),定义构建参数(`parameters`)以及环境变量(`environment`),并全局配置工具(`tools`)等。例如,可以...