Easysearch、Elasticsearch 还是 Opensearch,是个问题

如何在elasticsearch源码中查找对应功能的代码块

Elasticsearch | 作者 zh57398 | 发布于2020年10月27日 | 阅读数:1621

最近在学习es,在看源码,想请教一下各位要怎么在源码中找到对应功能的代码块?比如想要debug看一下es存储的整个过程,要怎么确定他存储是走的哪部分代码呢?我编译运行了源码,存数据的时候源码这边也没反应,各位大神可以分享下自己怎么找对应的功能代码块吗?
已邀请:

Ombres

赞同来自: zh57398

先说es对外的两个端口http请求的入口 Netty4HttpRequestHandler#channelRead0(ChannelHandlerContext ctx, HttpPipelinedRequest httpRequest)
transport的入口Netty4MessageChannelHandler#channelRead(ChannelHandlerContext ctx, Object msg)
 
需要在9200端口请求索引数据,然后你可以慢慢断点看了
之前我整理的简单流程可以参考下面的,后面还有任务详细的处理流程,当时偷懒没写..
https://www.jianshu.com/p/3f09bb7056c6
 
index模块的处理你可以看这个类BulkOperation,这里分发到其他或本地transport上,再后面就到IndexShard上,最终由
Engine的实现类去执行
 
 

要回复问题请先登录注册