12 2019 档案

摘要:PhaseScorer解决的是语句搜索场景,例如搜索hello world,这表示命中的文档中要hello world这样的句子,两个单词的前后顺序固定。PhaseScorer有两个实现类:ExactPhaseScorer和SloppyPhaseScorer,分别解决搜索脚本里多个单词中间没有其他单 阅读全文
posted @ 2019-12-19 20:45 Birding 阅读(266) 评论(0) 推荐(0) 编辑
摘要:查询有哪些文档包含某个词元是Lucene搜索非常基础的一个功能,上层的搜索功能和索引功能都要基于这个功能来搭建。SegmentTermDocs就是查询词元所属文档的核心类,SegmentTermPositions的功能是查询某个词元在某个文档中出现的位置,这个在需要在搜索时返回词元位置时会用到。 这 阅读全文
posted @ 2019-12-17 20:52 Birding 阅读(194) 评论(0) 推荐(0) 编辑
摘要:TermInfosReader类是Lucene搜索的核心代码,所有的搜索最终都是落到通过term查询,TermInfosReader里定义了支持的基础的term查询功能。 前置知识: 词元字典文件(tis): 文件描述: 文件中的term按照从小到大排序,排序规则:先按照属性名排,如果属性名相同,再 阅读全文
posted @ 2019-12-05 21:02 Birding 阅读(327) 评论(0) 推荐(0) 编辑
摘要:BooleanQuery对两种不同查询场景执行不同的算法: 场景1: 所有的子句都必须满足,而且所有的子句里没有嵌套BooleanQuery。 例: 上面语句表示要同时包含a,b,c三个字符(词元)的文档,假如现在索引里包含a的文档有4,6,8;b的文档有:2,4,6;c的文档有:3,4,5,这个语 阅读全文
posted @ 2019-12-04 20:06 Birding 阅读(662) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示