solrj针对solrcloud提供了CloudSolrClient,用于对集群环境solr操作,从一个测试例子,一步步深入,看看CloudSolrClient是如何做查询操作的 1、使用CloudSolrClient发起一个查询请求 2、接着调用CloudSolrClient的request方法 3、CloudSolrClien...
solrj针对solrcloud提供了cloudsolrclient,用于对集群环境solr操作,从一个测试例子,一步步深入,看看cloudsolrclient是如何做查询操作的
1、使用cloudsolrclient发起一个查询请求
2、接着调用cloudsolrclient的request方法
3、cloudsolrclient的request方法中,首先回去获取请求中的collection名字,如果没有,获取默认设置的collcetion,然后调用requestwithretryonstalestate方法
4、requestwithretryonstalestate方法中,先去连接zk获取solrclound注册在zk上的信息
5、获取zk上的信息,经过处理后,封装到request中,调用sendrequest方法
6、在sendrequest中,会获取每个片的每个replicat的url与注册在zk上的live url做一个交集,得到一个查询url集合,然后创建一个lbhttpsolrclient,请求solrcloud
7、lbhttpsolrclient的request中会在for循环中挨个的轮询上一个步骤中放入的urllist发起http查询请求
在rsp合并结果,并返回
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....