- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Java的搜索引擎Nutch中文搜索技术研究_计算机论文.doc
基于Java的搜索引擎Nutch中文搜索技术研究_计算机论文
基于Java的搜索引擎Nutch中文搜索技术研究_计算机论文
摘要:Nutch是一个优秀的基于Java的开放源码搜索引擎,为了使它能够支持中文搜索,本文在分析了Nutch结构的基础上,采用词表分词技术和前向匹配分词算法对中文信息进行分词,以JavaCC脚本实现上下文相关文法中文分析模块,成功实现了Nutch中文搜索功能。
关键词:搜索引擎 分词 正规
Abstract: In order to enable Chinese search in Nutch, which is an excellent Java-based open source search engine, this paper analyses the structure of Nutch and separates words in Chinese information based on Chinese dictionary and forward matching algorithm. Chinese analysis module is generated by JavaCC script that results in supporting Chinese search in Nutch.
Key words: Search Engine Word Segmentation Regular Expression
1 前言
搜索引擎[1]是当今网络应用的核心问题,已经受到各企业和研究部门的广泛关注。Lucene和Nutch是针对国外英文系统环境的搜索引擎,本文在研究了中文分词技术和JavaCC技术的基础上,成功地实现了Lucene和Nucth的中文分析模块,使Lucene和Nucth能够实现中文信息检索。
2 Nutch分析
Lucene是开放源码的基于Java的全文检索引擎,其贡献者Doug Cutting是一位资深全文索引/检索专家。作为一个全文检索系统,在进行检索之前需要建立索引,索引的过程是先读取文章中的词语,然后一一存放在称为倒排索引文件的索引数据库(Index Database)中。索引数据库记录了词语出现的位置,频率等相关信息,以备后面读取。Nutch是Cutting创建的另一个Java开源项目,目的是提供全功能的搜索引擎,其底层借助了Lucene的部分功能,并且索引结构与Lucene兼容。
Lucene和Nutch并没有规定数据源的格式,而只提供了一个通用的结构(Document对象)来接受索引的输入,因此输入的数据源可以是数据库、WORD文档、PDF文档和HTML文档,只要能够设计相应的解析转换器将数据源构造成Docuement对象即可进行索引。对于大批量的数据索引,还可以通过调整IndexerWrite的文件合并频率属性(MergeFactor)来提高批量索引的效率。用户输入查询字符串(Query String),然后经过分析器的分析,就会产生一个Query对象。真正搜索时,使用IndexSearcher类的search方法,它返回Hits对象。通过遍历Hits对象的所有文档(document),就可以找到所有被搜索到的文章(页面)。查询字符串的语法定义为:
Query ::= ( Clause )*
Clause ::= [+, -] [TERMgt :] ( TERMgt | ( Query ))
中间的逻辑包括:and or + - ampamp||等符号,而且还有短语查询和针对西文的前缀/模糊查询等。总的来说,这是其他很多搜索引擎都不具备的功能。通过修改QueryParser的语法生成脚本,还可以修改或扩展查询分析器的功能,使它更加适用于中文环境。所有的问题都通过一个额外抽象层来方便以后的扩展和重用,通过重新实现来达到自己的目的,而对其他模块而不需要。可以简单的应用入口Searcher, Indexer,并调用底层一系列组件协同的完成搜索任务。所有的对象的任务都非常专一,比如搜索过程QueryParser分析将查询语句转换成一系列的精确查询的组合(Query),通过底层的索引读取结构IndexReader进行索引的读取,并用相应的打分器给搜索结果进行打分/排序等。所有的功能模块原子化程度非常高,因此可以通过重新实现而不需要修改其他模块。除了灵活的应用接口设计,Lucene和Nutch还提供了一些适合大多数应用的语言分析器实现(SimpleAnalyser,StandardAnalyser),这也是新用户能够很快上手的重要原因之一。
3 Nutch中文搜索
3.1 中文分词
在搜索引擎和各种语言处理的需要中,分词可以说是最基本的操作。汉语句子是由词语组成的,
您可能关注的文档
- 基于CBIR的计算机拼图系统的设计与实现_计算机论文.doc
- 基于CORBA的JAVA消息服务中间件的设计与优化_计算机论文.doc
- 基于CORBA的电子商务系统的安全性_计算机论文.doc
- 基于CORBA的自适应流媒体中间件系统的设计与实现_计算机论文.doc
- 基于CORDIC算法数字下变频器设计_计算机论文.doc
- 基于CPCI总线的数据采集卡及其驱动程序设计_计算机论文.doc
- 基于CRM信息技术的渠道偏好度模型的管理应用_通信学论文.doc
- 基于C语言设置TMS320 DSP中断向量表_计算机论文.doc
- 基于Delphi的水平定向钻进监控软件研究与实现_计算机论文.doc
- 基于DM642的图像边缘检测算法的研究_计算机论文.doc
- 基于JDBC的Web数据库应用程序性能优化研究_计算机论文.doc
- 基于JDBC的数据库连接池技术的研究与应用_计算机论文.doc
- 基于JDBC的数据库连接池技术的研究与设计_计算机论文.doc
- 基于JMS的气象数据汇集系统的研究与实现_计算机论文.doc
- 基于JSF技术的WEB应用开发研究_计算机论文.doc
- 基于JXTA和P2P的资源发布系统研究_计算机论文.doc
- 基于LabVIEW的虚拟模电实验的构建——调制解调器_电子机械论文.doc
- 基于MapX的多字段专题饼图的设计_计算机论文.doc
- 基于MasterCAM的后处理应用_计算机论文.doc
- 基于MAS的虚拟企业框架结构设计 _计算机论文.doc
最近下载
- 《特种设备重大事故隐患判定准则》GB45067-2024培训.pptx VIP
- 小学美术教学案例的生成式AI智能创作与艺术教育创新实践教学研究课题报告.docx
- 100T汽车吊操作手册.pdf VIP
- 入户供热维修操作技能培训.pptx VIP
- 《浏阳河随想》古典吉他独奏谱.pdf VIP
- 2024新教材七上道德与法治早背晚默.docx VIP
- 最新特种玻璃精品课件.ppt VIP
- 九上道德与法治39天早背晚默.pdf VIP
- 初中英语新人教版七年级上册全册单词默写练习(附参考答案)(2024秋).pdf VIP
- 70篇短文记完初中1600核心词汇143页 【单词批注版】【高清精美排版】.doc VIP
文档评论(0)