当前位置: 首页 > elasticsearch, 搜索 > 正文

Elasticsearch:检索篇

1 星2 星3 星4 星5 星 (1 次投票, 评分: 5.00, 总分: 5)
Loading ... Loading ...
baidu_share

ES检索篇主要是对索引中的数据进行查询的一个过程:

1.IndexReader打开索引文件,读取并打开指向索引文件的流。

2.用户输入查询语句

3.将查询语句转换为查询对象Query对象树

4.构造Weight对象树,用于计算词的权重Term Weight,也即计算打分公式中与仅与搜索语句相关与文档无关的部分(红色部分)。

5.构造Scorer对象树,用于计算打分(TermScorer.score())。

6.在构造Scorer对象树的过程中,其叶子节点的TermScorer会将词典和倒排表从索引中读出来。

7.构造SumScorer对象树,其是为了方便合并倒排表对Scorer对象树的从新组织,它的叶子节点仍为TermScorer,包含词典和倒排表。此步将倒排表合并后得到结果文档集,并对结果文档计算打分公式中的蓝色部分。打分公式中的求和符合,并非简单的相加,而是根据子查询倒排表的合并方式(与或非)来对子查询的打分求和,计算出父查询的打分。

8.将收集的结果集合及打分返回给用户

本文固定链接: http://www.chepoo.com/elasticsearch-query.html | IT技术精华网

Elasticsearch:检索篇:等您坐沙发呢!

发表评论