基于Lucene 的中文分词全文搜索引擎设计与实现.docVIP

基于Lucene 的中文分词全文搜索引擎设计与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Lucene 的中文分词全文搜索引擎设计与实现.doc

基于Lucene 的中文分词全文搜索引擎设计与实现   摘要:基于Lucene的全文检索开源项目基础上,采用PaodingAnalyzer中文分词器,设计了一个基于中文环境的高效分词与全文搜索引擎系统,实现多种类型文件内容的文本全文检索功能。   关键词: 全文搜索;中文分词;搜索引擎;Lucene   中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)13-0236-02   Abstract: This paper design and implement an efficient Chinese segmentation search engine based on Lucene and PaodingAnalyzer, which mainly for dealing with Chinese words to improve the ability of full text search system.   Key words: full text search; chinese segmentation; search engine; lucene   基于关键字的文本搜索是信息系统最重要最常用的功能之一,而开放源代码的Lucene全文检索技术是信息检索领域广泛使用的基本技术,被大量的集成到各种系统软件以及构建Web应用系统中去,作为软件的全文检索子系统的核心。基于关键字的文本搜索首先要解决分词问题,虽然Lucene内置了分词器功能,但无法支持复杂的中文分词。因此,本文在比较各类中文分词器的基础上,采用PaodingAnalyzer分词器代替Lucene内置分词器,与Lucene共同构建起一个中文环境下高效、准确的全文搜索引擎系统。   1 关键技术   1.1 Lucene   Lucene是apache软件基金会jakarta项目组下的一个子项目,是一个开放源代码的全文检索引擎工具包[1]。作为一个开放源代码项目,Lucene发布后,引发了开放源代码社区的热烈反应,开发者不仅使用它构建具体的全文检索应用,而且将Lucene整合到各种系统软件以及各种Web应用中,甚至也有商业软件也采用Lucene作为其全文检索子系统的核心。   采用Lucene构建全文搜索引擎不仅在于其开源、免费,而且在于高性能、纯JAVA跨平台应用,方便移植可重用;Lucene作为一个全文检索引擎,其突出的技术应用优势是不仅在传统全文检索引擎的倒排索引的基础上,实现了分块索引,而且设计了独立于语言和文件格式的文本分析接口;还实现了一套强大的查询引擎,用户无需自己编写代码即可使系统可获得强大的查询能力。   1.2 PaodingAnalyzer中文分词器   当前基于Lucene的中文分词器主要有PaodingAnalyzer、imdict、mmseg4j、ik等四种。从是否支持用户自定义词库、运行速度、算法与代码复杂度、开发者与开发社区活跃度等方面综合分析权衡,本系统最终采用PaodingAnalyzer分词器来实现中文分词功能。   PaodingAnalyzer中文分词器,又称庖丁解牛中文切词器2[2]。PaodingAnalyzer基于Java的开源中文分词组件,提供lucene和solr接口,具有极高效率和高扩展性。它采用基于不限制个数的词典文件对文章进行有效切分,支持最大/最小切词。字典灵活且文件个数不限、名称不限、只要符合以dic作为扩展名的文件均视为字典。可以根据需要加减字典目录以及目录下的字典。   2 系统设计与实现   在本搜索引擎系统中,采用基于Lucene全文检索引擎开源项目为系统开发核心,并整合PaodingAnalyzer中文分词器以解决Lucene中不支持中文分词问题,系统由三大模块组成:文件索引模块、搜索查询模块与搜索结果排序与显示模块。   系统的工作流程是,首先对通过爬虫等方法收集起来的所有文档建立索引;其次是设计开发查询分析器对用户查询请求进行分词与匹配查找;最后把查找结果通过排序算法与关键字高亮显示等方式反馈到查询客户端。各模块工作原理与相互协作流程系统整体框架图如图1所示:   2.1 文件索引   系统中待索引文件可用网络爬虫,手工等方式收集,文件格式可以为html、doc、ppt、xls、pdf、txt等文档。在建立文件索引前首先必须通过文件格式转换器对特定的文件格式采用相对应的解释类对文档进行格式转换与清洗,如PDF格式文件通过 PDFBox类解释,Word 和 Excel 通过POI类解析,并最终将文档内容转换成字节流。建立索引之前必须进行中文分词,PaodingAnalyzer中文分词器对通过格式转换器生成的字节流进

文档评论(0)

jingpinwedang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档