lucene-sequence-diagram
lucene搜索端uml时序图,lucene源码解析
图比较大,看不清,可以下载【sd-search.svg】后再用浏览器打开
使用starUML画图,可以下载【lucene.mdj】后打开,编辑
前提
只考虑最简单的查询,比如只对一个字段,用一个term去查,即TermQuery;然后索引也只有一个segment,简单的情况利于理解。
步骤
以下只描述了几个重要步骤,包含了加权,读取索引文件,收集,评分,分页这几个重要步骤。
1 加权;图中第【2】步,使用query生成weight;query就是查询参数,weight即对查询参数赋予权重,比如查询title包含"lucene"的文章,则首先对"lucene"这个term赋予权重
1.1 对"lucene"这个term赋予权重,需要先从索引文件中读取"title"这个字段的倒排表信息,即图中
1