Lucene4.6 把时间信息写入倒排索引的Offset偏移量中,并实现按时间位置查询

本文介绍了一种对Lucene4.x源码的扩展方法,通过新增TimeTokenizer分词器和Filter,实现在倒排索引中精确记录时间位置信息,以便于高效检索特定时间范围内的文档。

       有个新的技术需求,需要对Lucene4.x的源码进行扩展,把如下的有时间位置的文本写入倒排索引,为此,我扩展了一个TimeTokenizer分词器,在这个分词器里将时间信息写入

偏移量Offset中。扩展了一个Filter,最后查询时通过filter把时间信息传进去过滤想要的时间范围之内的结果。

  Lucene倒排索引中分好的词有两个偏移量一个是按字符的偏移量(BeginOffset和EndOffset)另一个是以分词(Term)为一个单元的position,每增加一个词position加1,如果这个词有两个字符则EndOffset加2, BeginOffset等于上一次的EndOffset。

 

源码地址:https://github.com/Jethu1/TimeAnalyzer

转载于:https://www.cnblogs.com/jetHu/p/7270835.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值