Lucene

数值索引IntPoint

对数值进行从小到大排序,从排序后的点数据中取前一半的点数据划为左子树(节点2),剩余的划为右子树(节点3)。继续对节点2的数据进行取前一半的点数据划为左子树(节点4)和右子树(节点5),同理对节点2的数据划为左子树(节点6)和右子树(节点7)。

右子树的数值比左子树大,进行查询过滤时,可以快速定位到数节点范围,再进行精准判断。


Bkd-Tree作为一种基于K-D-B-tree的索引结构,用来对多维度的点数据(multi-dimensional point data)集进行索引

https://www.amazingkoala.com.cn/Lucene/gongjulei/2019/0422/52.html

IndexSearcher ---> TopDocs searchAfter() -->Collector search()--->CollectorManager<TopScoreDocCollector, TopDocs> manager -->  TopScoreDocCollector create() --> TopScoreDocCollector newCollector() --> search(List<LeafReaderContext> leaves) -->BulkScorer scorer = weight.bulkScorer(ctx) (获取召回结果)--> BulkScorer.score(leafCollector) -->Weight.scoreAll()(获取准确的召回结果) --> collector.collect(doc) --> TopScoreDocCollector.topDocs()

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。