![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
elasticsearch源码
文章平均质量分 77
探索elasticsearch源码
weixin_41871193
这个作者很懒,什么都没留下…
展开
-
【路径2】query分片查询返回InitialSearchPhase#maybeFork
query查询返回run:38, AbstractRunnable (org.elasticsearch.common.util.concurrent)doRun:638, ThreadContext$ContextPreservingAbstractRunnable (org.elasticsearch.common.util.concurrent)doRun:1000, SearchService$3 (org.elasticsearch.search)onResponse:271, Searc原创 2022-05-23 21:45:55 · 68 阅读 · 0 评论 -
elasticsearch源码关于TransportSearchAction【阶段二】4.executeQueryPhase【重点】
1.回顾SearchTransportServicepublic class SearchTransportService extends AbstractComponentsearchService.executeQueryPhase(request, (SearchTask) task, new ActionListener()request$ShardSearchTransportRequesttransportService.registerRequestHandler(QUERY_ACTI原创 2022-05-17 22:29:16 · 233 阅读 · 0 评论 -
【路径】1.query阶段:分行分片前的请求InitialSearchPhase
分行分片前的请求1.Netty4HttpServerTransportdispatchRequest:491, Netty4HttpServerTransport (org.elasticsearch.http.netty4)2.RestControllerdispatchRequest:240, RestController (org.elasticsearch.rest)tryAllHandlers:337, RestController (org.elasticsearch.rest)di原创 2022-05-14 15:17:33 · 289 阅读 · 0 评论 -
elasticsearch源码query和fetch的分水岭:RequestHandlerRegistry
1.RequestHandlerRegistrypublic class RequestHandlerRegistryprivate final TransportRequestHandler handler;handler$SearchTransportService处理query 和 fetchhandler.messageReceived(request, new TransportChannelWrapper(taskManager, task, channel), task); pu原创 2022-05-08 13:07:58 · 720 阅读 · 0 评论 -
elasticsearch源码关于TransportSearchAction【阶段二】3.messageReceived
1.回顾 TransportServicepublic class TransportService extends AbstractLifecycleComponent执行本地任务reg.processMessageReceived(request, channel)//ShardSearchTransportRequest private void sendLocalRequest(long requestId, final String action, final TransportR原创 2022-05-06 22:23:09 · 635 阅读 · 0 评论 -
elasticsearch源码关于TransportSearchAction【阶段二】2.sendChildRequest
1.回顾 SearchTransportServicepublic class SearchTransportService extends AbstractComponent // 转发分片,连接信息,节点信息,分片信息,任务信息 public void sendExecuteQuery(Transport.Connection connection, final ShardSearchTransportRequest request, SearchTask task,原创 2022-05-04 10:56:16 · 652 阅读 · 0 评论 -
elasticsearch源码关于response【阶段四】
1.回顾InitialSearchPhaseabstract class InitialSearchPhase extends SearchPhase1.关注SearchActionListener构造函数2.关注SearchShardTarget构造函数3.onShardResult(result, shardIt)private void performPhaseOnShard(final int shardIndex, final SearchShardIterator shardIt, f原创 2022-04-28 23:52:11 · 1522 阅读 · 0 评论 -
elasticsearch源码关于TransportSearchAction【阶段三】
1.回顾.TransportServicepublic class TransportService extends AbstractLifecycleComponentTransportService:方法:1 public final <T extends TransportResponse> void sendRequest(final Transport.Connection connection, final String action,原创 2022-04-27 23:11:36 · 1662 阅读 · 0 评论 -
elasticsearch源码关于TransportSearchAction【阶段二】
回顾:TransportSearchAction#executeSearchsearchAsyncAction(task, searchRequest, shardIterators, timeProvider, connectionLookup, clusterState.version(), Collections.unmodifiableMap(aliasFilter), concreteIndexBoosts, listener, preFilterSearchShards).start(原创 2022-04-26 23:13:56 · 1478 阅读 · 0 评论 -
elasticsearch源码关于TransportSearchAction【阶段一】
1.RestControllerpublic class RestController extends AbstractComponent implements HttpServerTransport.Dispatcher {RestController:方法1 @Override public void dispatchRequest(RestRequest request, RestChannel channel, ThreadContext threadContext) {原创 2022-04-21 23:47:28 · 827 阅读 · 0 评论 -
elasticsearch源码关于action
package org.elasticsearch.rest.action 有 很多action包地址package org.elasticsearch.rest.action.searchpublic class RestSearchAction extends BaseRestHandle// 启动时注册public RestSearchAction(Settings settings, RestController controller) {super(settings);control原创 2022-04-21 21:58:45 · 156 阅读 · 0 评论 -
Transport模块分析
1. 网络模块初始化public interface NetworkPlugin1.构建Netty4Transport作为Transportpublic final class NetworkModuleMap<String, Supplier> httpTransportFactory = plugin.getTransports(settings, threadPool, bigArrays,circuitBreakerService, namedWriteableRegistry原创 2022-04-19 23:23:42 · 181 阅读 · 0 评论 -
elasticsearch源码:QueryPhase#execute
QueryPhase#executeIndexSearcher#search[luence类]searcher.search(query, queryCollector)IndexSearcher#search[luence类]search(leafContexts, createNormalizedWeight(query, results.needsScores()), results);ContextIndexSearcher#searchsearch(List<LeafRe.原创 2022-04-12 21:52:01 · 211 阅读 · 0 评论 -
elasticsearch源码:RestController#tryAllHandlers查询流程
RestController#dispatchRequest1.执行tryAllHandlers2.dispatchRequestBaseRestHandler[抽象类] -> RestHandler [接口] #handleRequestfinal RestHandler wrappedHandler = mHandler.map(h -> handlerWrapper.apply(h)).get();3.wrappedHandler.handleRequest(request,原创 2022-04-17 14:52:24 · 177 阅读 · 0 评论