最近一直负责做lucene构建搜索引擎,其中采用的中文分词器就是qieqie提供的庖丁解牛分词器。由于发现当搜索:
1、关于番禺供电局增加乙类工作票签发人的请示
2、关于从化供电局2006年度“两票”考核奖励方案的报告
3、关于辖区内10KV架空线路两旁(线行下)受树木影响情况的报告
4、关于增城供电局防坠落装置安装和使用情况的报告
5、关于广州萝岗供电局2007年安措计划的报告
6、关于召开重要变电站事故应急预案编制讨论会的通知(9月9日上午9:30)
7、关于召开《广东电网继电保护通信通道运行管理办法》
当搜索整条句子时查不出结果,但是去掉红色部分再查找却可以查找到结果。
刚开始的分析:
从以上可总结出:
1、2、3、4、5:去掉的部分都是地名。
7:去掉的是特殊符号
6:还未找出具体问题,当查询“关于召开重要变电站事故应急预案编制讨论会的通知”还是一样查找不出结果。
本想去研究一下庖丁解牛分词的源码,可现在这两周接到做jbpm工作流的任务,所以一直拖着没去看。
可这个问题一直挂在心上,昨天突然想到那个配置文件:
<bean id="writerAnalyzer" class="com.net.paoding.analysis.analyzer.PaodingAnalyzer">
<property name="knife" ref="paoding"/>
<property name="mode" value="1"/>
</bean>
<bean id="queryAnalyzer" class="com.net.paoding.analysis.analyzer.PaodingAnalyzer">
<property name="knife" ref="paoding"/>
<property name="mode" value="2"/>
</bean>
<bean id="paoding" class="com.net.paoding.analysis.knife.PaodingMaker" factory-method="make"/>
写索引的时候采用writerMode(1)而查询的时候采用queryMode(2),会不会是这两次采用了不同的模式导致。
所以把上面查询的模式也改为writerMode即value="1".再查询发现可以查出上面的结果出来。看来还真是这个问题导致。
今早来上班又到网上查了下,原来qieqie早已提到了这个问题。
qieqie在javaeye上的帖子中的回复内容:
参见:
[url=http://analysis.group.iteye.com/group/post/15584 ]JavaEye:Spring Context下使用"庖丁解牛" [/url]
或:
Google:Spring Context下使用"庖丁解牛"
简单摘要(以上面两个链接中的说明为准,这里只是摘要):
Java代码
<bean id="writerAnalyzer" class="com.net.paoding.analysis.analyzer.PaodingAnalyzer">
<property name="knife" ref="paoding"/>
<property name="mode" value="1"/>
</bean>
<bean id="queryAnalyzer" class="com.net.paoding.analysis.analyzer.PaodingAnalyzer">
<property name="knife" ref="paoding"/>
<property name="mode" value="2"/>
</bean>
<bean id="paoding" class="com.net.paoding.analysis.knife.PaodingMaker" factory-method="make"/>
补:
1、建立索引和使用索引只能使用同一种/模式的分词器
2、2.0.2以后(包含)queryMode和writerMode这两个名称将重构为更好的名称,请留意倒是的API说明或readme变更说明。
分享到:
相关推荐
"庖丁解牛"是一款专为中文处理设计的分词工具,其版本2.0.4-alpha2提供了更稳定和高效的分词体验。这个工具的核心功能是将中文文本拆分成有意义的词语,这对于中文信息处理、自然语言理解和搜索引擎优化等场景至关...
"庖丁解牛分词"是一个针对中文文本的分词工具,它借鉴了中国古代庖丁解牛的故事,寓意对文本进行精细、深入的剖析。这个工具的主要目标是帮助开发者更准确地切分中文句子,提取关键信息,从而提升搜索效率或理解文本...
《Lucene中文分词——庖丁解牛》 在自然语言处理领域,中文分词是基础且关键的一环。在Java开发中,Apache Lucene是一个强大的全文搜索引擎库,但默认并不支持中文,这就需要借助第三方分词工具。本文将深入探讨...
《Lucene中文分词:庖丁解牛》 在信息技术高速发展的今天,全文搜索引擎已经成为网站内容检索不可或缺的一部分。其中,Apache Lucene作为一个开源的全文检索库,被广泛应用于各种项目中,尤其对于处理中文文本,...
"庖丁解牛分词器"是一款著名的中文分词工具,源自开源社区,因其高效的性能和灵活的应用场景而广受欢迎。在深入理解其源码的过程中,我们可以了解到许多关于自然语言处理(NLP)和Java编程的知识点。 1. **中文分词...
由于庖丁官方目前提供可下载尚不支持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 : / ...
"庖丁解牛工具"是一款基于Java开发的文本分析工具,尤其在中文分词领域有着广泛的应用。这个工具的名字来源于中国古代寓言故事“庖丁解牛”,寓意对文本的精细处理和深入理解,就像庖丁对牛肉的熟练切割一样。在IT...
在实际使用中,开发者可以通过调用庖丁解牛分词库提供的API,将待分词的文本输入,得到分词结果。同时,还可以根据需求自定义词典,优化分词效果。例如,对于特定领域或行业的文本,可以添加专业词汇到词典中,提高...
“庖丁解牛”中文分词器是一款专为中文文本处理设计的工具,其名字来源于古代寓言故事,寓意对复杂问题的深入理解和熟练掌握。它在Lucene的基础上,针对中文特有的语法结构和词汇习惯,提供了更加符合中文语境的分词...
【庖丁解牛 2_0_0版本】是一个专门针对中文分词的软件工具,其在企业应用中扮演着重要角色。中文分词是自然语言处理中的基础步骤,对于文本分析、信息检索、机器翻译等领域至关重要。在这个2_0_0版本的更新中,我们...
然而,由于中文的复杂性,简单的英文分词策略无法满足需求,于是有了针对中文的分词方法——"庖丁解牛分词法"。该方法是专门为了解决Lucene在处理中文文本时的分词难题而设计的。在本文中,我们将深入探讨这一分词法...
"庖丁解牛"分词器采用了先进的算法和技术来解决这个问题,包括基于词典的匹配、上下文信息分析以及统计学习方法等,使得它在处理中文文本时表现出了较高的准确性和效率。 "Lucene"是一个流行的开源全文搜索引擎库,...
标题 "sorlr + tomcat+ 庖丁解牛中文分词 配置文档" 提到的是一个关于在Apache Solr中集成Tomcat服务器,并利用庖丁解牛中文分词工具进行中文处理的配置教程。这个配置过程对于搭建支持中文搜索的Solr环境至关重要。...
"庖丁解牛jarbao"是一个专为中文分词设计的工具,它的核心是"庖丁解牛中文分词器"。在Java开发环境中,它通常以jar包的形式提供,如"paoding-analysis - 3.1.jar",这表明它是基于Java语言实现的,并且是版本3.1的...
《庖丁解牛 源码 for Lucene 2.4》是一份针对开源全文搜索引擎Lucene 2.4版本的深度解析资料。这个压缩包包含的文件名为"paoding-for-lucene-2.4",很可能是针对中文处理的Paoding Lucene库的源代码分析或扩展。...
Paoding's Knives 中文分词具有极 高效率 和 高扩展性 。引入隐喻,采用完全的面向对象设计,构思先进。 高效率:在PIII 1G内存个人机器上,1秒 可准确分词 100万 汉字。 采用基于 不限制个数 的词典文件对文章...
最新庖丁解牛分词法的使用demo,支持Lucene3.3、3.4等3.0以上版本,庖丁解牛的分词包为自己编译生成的,之前的2.0的版本不能支持Lucene3.0以上版本,所以需要从svn下载最新的庖丁解牛源码,生成jar文件(我同样已...
在这里,"庖丁解牛"被用来形容一种精细的分词方法,它可能是指在进行全文检索时,对文本进行深入细致的分析,就像庖丁解剖牛一样,精确地识别和拆分出每个词语。 分词是全文检索的重要步骤,它将连续的文本序列分割...
庖丁解牛算法,源自中国古代寓言故事,寓意深入、细致地处理问题,其在分词领域的应用正是这一理念的体现。该算法旨在精准、高效地对文本进行分词,提高文本分析和理解的准确性。 1.1 编写目的 本文的编写目的是...
本文将深入探讨“Lucene加庖丁解牛测试类”,旨在帮助读者理解Lucene的核心概念,并通过实际的测试类解析,提升对Lucene的运用能力。 首先,我们需要理解“庖丁解牛”的含义。这源自古代典故,意指做事技艺娴熟,能...