(1)请求 transfer to  任意node 节点 标记为coordinate node

server入口函数 transportSearchAction doExecute方法

coordinate  node 将请求处理形成AbstractSearchAsyncAction的一个继承类,

调用该继承类中的start方法,进而通过使用this调用其父类InitialSearchPhrase中 run方法,轮询各个shard,对每一个shard执行performPhaseOnShard方法,通过调用自身

executePhaseOnShard方法中通过调用SearchTransportService中sendExecuteQuery同时请求发送到指定的shard中,会监听其结果,监听结果会调用onphrasedone方法,其用于判定是否执行executeNextPhase方法

(2)每一个shard 中RequestHandlerRegistry 类启动一个监听方法processMessageReceived方法,此方法获取coordinate node发送来的请求,然后调用SearchService中executeQueryPhase方法,进而调用各种SearchPhrase实现类。

最终会调用lucene中的IndexSearch中的方法返回数据。

最新文章

  1. MAC 如何使用Github Desktop 客户端
  2. java学习:Hibernate入门
  3. 微信html5开发选哪一个
  4. Git 中级用户的25个提示
  5. git svn 5点区别
  6. jboss项目迁移至WebLogic12
  7. modelsim命令行仿真提示“vsim 不是内部或外部命令,也不是可运行的程序或批处理文件”的解决办法
  8. [Quote]Creating basic Excel workbook with Open XML
  9. JVM学习(1)——通过实例总结Java虚拟机的运行机制(转)
  10. 了解 : angular $rootScope 在 ui-view
  11. 浅析强连通分量(Tarjan和kosaraju)
  12. IsKeyboardFocused -- 键盘焦点
  13. 快速开发 HTML5 交互式地铁线路图
  14. 解决 webpack-dev-server 不能自动刷新的问题
  15. 20155208徐子涵 2016-2017-2 《Java程序设计》第6周学习总结
  16. python中@staticmethod与@classmethod
  17. Eclipse中JSP生成的类文件存放在哪
  18. 2017-2018 Exp5 MSF基础应用 20155214
  19. 【Linux】tail命令
  20. Linux下配置redis,c#简单调用

热门文章

  1. Vscode开发Python环境安装
  2. 意法半导体STM32MP157A MPU加持,米尔科技首款ST Linux开发板MYD-YA157C评测
  3. clr via c# 运行时序列化
  4. NetCore3.0实现自定义IOC容器注入
  5. Android中使用AlarmManager设置闹钟
  6. SQL查询结果自定义排序
  7. ​Microchip SPI串行SRAM和NVSRAM器件
  8. 修改PR Cs6,PS Cs6,AU Cs6的启动界面
  9. Java基础之二、类的知识
  10. Q函数和值函数