Solr查询过程源码分析

<pre name="code" >SearchHandler.handleRequestBody(): solr搜索主流程 1.调用:RequestHandlerBase |--handleRequ

&lt;prename="code" &gt;SearchHandler.handleRequestBody(): solr搜索主流程 1.调用:RequestHandlerBase |--handleRequest(req,rsp); 2.源码分析: |-prepare()|前期的请求参数准备工作,QueryComponent可以在schemal文 件中设置,易扩展|--SearchComponentc:components |--queryComponent.prepare() |--FQ,FL,SHARDS,Q.SHARDS.ROWS,SHARDS.START|设置查询的条件,包括分片 的查询条件 |--设置fieldFlags返回的field值 |--设置defType值|默认lucene,实际指向的是lucenePlugin,可在schema 文件中扩展 |--解析QueryParser|对queryString进行解析 |--解析fq过滤值,生成filter过滤query集 |--设定shards分片信息 |--statComponent.prepare() |--debugComponent.prepare()

腾讯文库Solr查询过程源码分析