有个新的技术需求,需要对Lucene4.x的源码进行扩展,把如下的有时间位置的文本写入倒排索引,为此,我扩展了一个TimeTokenizer分词器,在这个分词器里将时间信息写入
偏移量Offset中。扩展了一个Filter,最后查询时通过filter把时间信息传进去过滤想要的时间范围之内的结果。
Lucene倒排索引中分好的词有两个偏移量一个是按字符的偏移量(BeginOffset和EndOffset)另一个是以分词(Term)为一个单元的position,每增加一个词position加1,如果这个词有两个字符则EndOffset加2, BeginOffset等于上一次的EndOffset。
源码地址:https://github.com/Jethu1/TimeAnalyzer
本文介绍了一种对Lucene4.x源码的扩展方法,通过新增TimeTokenizer分词器和Filter,实现在倒排索引中精确记录时间位置信息,以便于高效检索特定时间范围内的文档。
406

被折叠的 条评论
为什么被折叠?



