lucene(9)

2021SC@SDUSC

TokenStream

Lucene的analysis模块主要负责词法分析及语言处理而形成Term。

Lucene的index模块主要负责索引的创建,里面有IndexWriter。

Lucene的store模块主要负责索引的读写。

Lucene的QueryParser主要负责语法分析。 

Lucene的search模块主要负责对索引的搜索。

Lucene的similarity模块主要负责对相关性打分的实现。

通过对文本的分析来建立TokenStreams(分词数据流)。TokenStream是由一个个Token(分词组成的数据流)。所以说Analyzer就代表着一个从文本数据中抽取索引词(Term)的一种策略。为了定义具体完成哪些分析工作,Analyzer的子类必须实行自己的createCompontents方法。这里也是我们进行中文扩展的主要切入口。

TokenStream即是从Document的域(field)中或者查询条件中抽取一个个分词而组成的一个数据流。TokenSteam中是一个个的分词,而每个分词又是由一个个的属性(Attribute)组成。对于所有的分词来说,每个属性只有一个实例。这些属性都保存在AttributeSource中,而AttributeSource正是TokenStream的父类。

TokenStream的工作流程:

1.实例化TokenStream, 添加属性到AttributeSource,或从AttributeSource中获取属性.

2.调用reset()方法,设置stream的初始状态

3.调用increamStoken()方法,来获取下一个分词。这个方法会被docuemnt中的每一个分词调用。所以一个有效的实现对于好的性能来说是至关重要的。

4.调用end()方法来完成一些收尾工作

5.调用close()方法来释放stream关联的一些资源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.光盘中所附代码的运行环境 服务器Tomcat5.5版本 数据库采用MySQL 5.0 版本 JDK采用1.5.0 Spring采用1.2.8版本 DWR采用1.1.3版本 Windows平台 Tomcat 插件TomcatPlugin(下载地址:http://www.sysdeo.com/eclipse/tomcatpluginfr ) 2.本书所附光盘范例 Eclipse工程/ch2:原书第二章Eclipse工程文件 对文档预处理的源代码 对文档建立索引的源代码 对文档检索的源代码 使用Lucene检索和使用java.lang.String内置方法进行检索的效率比较 安装:直接在Eclipse中选取“import->Existing Project” Eclipse工程/ch7:原书第七章和第九章的Eclipse工程文件 使用PDFBox解析PDF文件 使用xpdf解析中文PDF文件 使用POI解析WORD和Excel文件 使用Jacob解析WORD文件 Google的Search API的使用 安装:直接在Eclipse中选取“import->Existing Project” Eclipse工程/ch9:原书第十二章的工程文件 使用正则表达式解析网页文件 使用HTMLParser解析网页文件 安装:直接在Eclipse中选取“import->Existing Project” Eclipse工程/heritrixProject:原书第十章的工程文件 在Eclipse配置完成的Heritrix源代码 自行开发的Heritrix的Extractor类:pconline 自行开发的Heritrix的FrontierScheduler类:pconline 自行开发的Heritrix的Extractor类:163mobile 自行开发的Heritrix的FrontierScheduler类:163mobile 安装:直接在Eclipse中选取“import->Existing Project” Eclipse工程/testDWR:原书第十三章的工程文件 完整的DWR开发环境 DWR在页面调用后台Bean类的实例 DWR操纵页面对象的实例 安装:直接在Eclipse中选取“import->Existing Project”,该工程由于是Web工程,因此需要TomcatPlugin插件。 Eclipse工程/z_mysearch:原书中的搜索引擎完整实例 数据库脚本 网页索引格式 构建词库的源代码 从网页中解析并构建产品信息文件的源代码 从产品信息文件构建索引的源代码 数据库操作类的源代码 基于Spring的业务层管理 检索的业务类源代码 检索的DAO源代码 检索的分页实现源代码 检索的AJAX实现源代码 安装:直接在Eclipse中选取“import->Existing Project”,该工程由于是Web工程,因此需要TomcatPlugin插件。 注:随光盘附带的mirror.rar文件是使用Heritrix从pconline网上抓取的手机信息页面(以网站镜象格式存储),在本书最后搜索引擎完整实例中需要使用到。由于光盘容量有限,笔者删除了原始镜像目录中一部分的网页,可能执行效果和书上不能完全一致,请读者读懂原理后灵活处理。 说明:因为mirror.rar文件引用了第三方网站的大量信息,这需要得到网站的授权,授权的办理需要一段时间,而本书的出版不能再被延误,故本次印刷的图书,mirror.rar文件不能放在光盘中,请读者谅解。请读者在理解书中讲述的原理与方法后灵活处理。 目前已有热心读者愿意为mirror.rar文件提供下载,在此对他们表示感谢。因为该文件需要的空间较大,初期下载地址可能会不确定,请读者发邮件询问本书责编:quyanlian@ptpress.com.cn,注明“Lucene下载地址咨询”。来函必复。 对于个别下载不方便的读者,我们也可以提供刻光盘并邮寄的服务,也请发邮件询问本书责编:quyanlian@ptpress.com.cn,注明“Lucene光盘邮寄”。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值