Lucene学习总结之七:Lucene搜索过程解析(1)
来源:互联网 发布:日本玫瑰香体糖 知乎 编辑:程序博客网 时间:2024/05/29 12:25
一、Lucene搜索过程总论
搜索的过程总的来说就是将词典及倒排表信息从索引中读出来,根据用户输入的查询语句合并倒排表,得到结果文档集并对文档进行打分的过程。
其可用如下图示:
总共包括以下几个过程:
- IndexReader打开索引文件,读取并打开指向索引文件的流。
- 用户输入查询语句
- 将查询语句转换为查询对象Query对象树
- 构造Weight对象树,用于计算词的权重Term Weight,也即计算打分公式中与仅与搜索语句相关与文档无关的部分(红色部分)。
- 构造Scorer对象树,用于计算打分(TermScorer.score())。
- 在构造Scorer对象树的过程中,其叶子节点的TermScorer会将词典和倒排表从索引中读出来。
- 构造SumScorer对象树,其是为了方便合并倒排表对Scorer对象树的从新组织,它的叶子节点仍为TermScorer,包含词典和倒排表。此步将倒排表合并后得到结果文档集,并对结果文档计算打分公式中的蓝色部分。打分公式中的求和符合,并非简单的相加,而是根据子查询倒排表的合并方式(与或非)来对子查询的打分求和,计算出父查询的打分。
- 将收集的结果集合及打分返回给用户。
- Lucene学习总结之七:Lucene搜索过程解析(1)
- Lucene学习总结之七:Lucene搜索过程解析(1)
- Lucene学习总结之七:Lucene搜索过程解析(1)
- Lucene学习总结之七:Lucene搜索过程解析(1)
- Lucene学习总结之七:Lucene搜索过程解析(2)
- Lucene学习总结之七:Lucene搜索过程解析(3)
- Lucene学习总结之七:Lucene搜索过程解析(4)
- Lucene学习总结之七:Lucene搜索过程解析(5)
- Lucene学习总结之七:Lucene搜索过程解析(6)
- Lucene学习总结之七:Lucene搜索过程解析(2)
- Lucene学习总结之七:Lucene搜索过程解析(3)
- Lucene学习总结之七:Lucene搜索过程解析(4)
- Lucene学习总结之七:Lucene搜索过程解析(5)
- Lucene学习总结之七:Lucene搜索过程解析(6)
- Lucene学习总结之七:Lucene搜索过程解析(7)
- Lucene学习总结之七:Lucene搜索过程解析(8)
- Lucene学习总结之七:Lucene搜索过程解析(2)
- Lucene学习总结之七:Lucene搜索过程解析(3)
- poj2965
- Eucalyptus Source Code Documentation and Analysis
- selenium录制上传文件时,抓取不到上传的文件有哪些,上传文件是flash插件
- ARM7的体系结构
- Lucene学习总结之六:Lucene打分公式的数学推导
- Lucene学习总结之七:Lucene搜索过程解析(1)
- 三维向量类
- Lucene学习总结之七:Lucene搜索过程解析(2)
- ASP.NET中JSON的序列化和反序列化
- 4.8 自定义下拉菜单模式Spinner与setDropDownViewResource
- 文件上传
- #include 求数据类型的最值
- Arcgis Server JS 开发,一个奇怪的问题(dojo未定义、机器名不能访问)
- windows下redmine的安装以及常见的问题的解决