永发信息网

solrj的CloudSolrClient源码分析及为什么查询慢

答案:1  悬赏:70  手机版
解决时间 2021-04-05 00:26
  • 提问者网友:皆是孤独
  • 2021-04-04 02:46
solrj的CloudSolrClient源码分析及为什么查询慢
最佳答案
  • 五星知识达人网友:玩家
  • 2021-04-04 04:00
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合并结果,并返回
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯