FirteXHigh Performance Full Featured Text Search Engine Library培训讲义.ppt

FirteXHigh Performance Full Featured Text Search Engine Library培训讲义.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FirteX-高性能全文索引和检索平台 中科院计算所 智能软件部 信息智能中心 郭瑞杰 ruijieguo@ 2006.6.21 Outline FirteX介绍 已有平台介绍 Lucene、Lemur等 FriteX的架构 FirteX的具体实现 索引、索引存储和检索 FirteX VS LuceneLemur 结论和进一步工作 FirteX介绍 开放式架构: 采用标准C++实现,支持Windows,Unix-like 操作系统; 实验和工程的通用平台,不仅是一个检索系统,同时也是一个全文索引和检索框架 多个组件基于插件设计,不仅可以采用C/C++对系统进行扩展,也可以通过内置的跨平台COM库设计COM组件来扩展系统 。 功能: 支持增量索引,差量索引,多字段索引,提供了3种前向索引方式; 支持纯文本,HTML,PDF等文件格式; 提供快速中文分词; 从底层到高层,提供了多种索引访问接口,灵活自由地使用索引文件; 提供丰富的检索语法,支持多字段检索,日期范围检索,检索结果自定义排序等。 性能: 在Pentium 4 2.8G 2GRAM的机器上超过200Mb每分钟的索引速度 在近7G的索引文件(100G网页,11G纯文本的索引)上检索,仅使用十几M内存在数毫秒内返回查询结果; 支持Tb数量级的文本索引和检索 灵活性: 对于简单的使用者: 直接提供了多种文件格式解析器(HTML,PDF,WORD等); 系统采用类似于XML格式的配置文件,可以根据数据集和机器配置情况,灵活配置整个系统,无需编写代码。 对于研究人员: 提供了TREC文档集解析器; 检索模型易于扩展; 提供了3种前向索引方式,可以直接用来做文本分类、聚类,摘要等 实验; 对于开发者: 系统各组成部分耦合性低,从应用层模块到系统核心层模块,均可单独修改、升级或替换;扩展既可以在源代码上直接进行,也可以使用非C/C++语言通过COM组件扩展 已有平台介绍-Lemur Lemur: 采用C++开发的一个语言模型和信息检索的工具包 支持Unix,Linux,Windows等操作系统 主要针对研究领域,包括全文索引、检索、分布式信息检索、文档聚类,摘要等 全文索引部分包含InvIndex、InvFPIndex、KeyfileIndex和Indri 四种索引方式 支持多种检索模型,用户也可以比较容易扩展自己的检索模型 能够很方便地搭建自己的信息检索实验平台,实现各种信息检索模型或其他文本处理实验 已有平台介绍-Lemur(续) 采用动态词典,将词编码成数字ID序列 动态词典容易膨胀,不同文档集建的索引无法兼容 采用了内存池,先在内存中建索引,再写至磁盘 内存中没有压缩,中间临时文件无法提供检索(InvFPIndex) 架构并非是开放式的,索引部分不易扩展 用户很难扩展新的索引算法,索引压缩算法等 没有考虑太多的性能问题,不能满足一些对索引和检索时效性比较高的应用 虽然能够支持中文,但是还不够充分,只提供了单字切分,使用者还必须做很多分词的工作。 已有平台介绍-Lucene Lucene: 用Java开发的文档索引和检索系统 针对Web应用的,提供了简单的编程接口,但是功能强大 支持增量索引、多字段索引,支持各种文档格式(html,pdf,word,mp3等),也提供了丰富的查询功能; 支持多语言,也可以编写解析器(Analyzer)扩展支持其他语言 应用广泛,chinabbs,苹果的iTunes,微软的Outlook搜索插件等就是用Lucene架构的 Lucene的其他版本: C++版(CLucene,非官方开发,代码可读性不是很好) C#版(L,非官方开发) C版(Lucene4C,官方开发,还没有正式发布代码) 已有平台介绍-Lucene(续) 缺陷: 性能较差,不能满足性能要求较高的应用 Lucene是由Java语言实现的,Java的解析执行方式限制了Lucene的性能 为了通用性和简化实现复杂度,Lucene把所有的索引字段都作为字符串来处理,采用共享前缀存储,虽然采用了一些技巧来加快搜索速度,但是这种存储方式在根本上决定了Lucene的性能不可能做得很高,处理的数据规模也不可能很大 Lucene的部分索引算法、索引合并算法和检索算法不够高效 Lucene主要面向实际应用,在研究领域,要使用Lucene做实验还是比较困难和麻烦的 对于中文支持不是很好,目前官方只提供了简单的单字切分的分析器。 已有平台介绍-Nutch Nutch Java开发,是Lucene Project的一个子项目,一个完整的搜索引擎,包括web采集,web内容分析,链接分析,分布式文件系统(NDFS),索引和检索(采用Lucene) 可扩展,基于插件式架构:

文档评论(0)

taotao0b + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档