Elasticsearch的增删改查源码流程

2022-01-18 00:00:00 操作 节点 请求 调用 就会

1 ActionModule

在了解ES源代码增删改查之前, 首先要了解一下TransportClient build时的一个关键Action的注入------ActionModule 在ActionModule的configure函数中, 会注册各种各样的Action 并绑定到具体的Handler(实际上就是TransportRequestHandler), 这个Handler很关键

registerAction(NodesInfoAction.INSTANCE, TransportNodesInfoAction.class);        registerAction(NodesStatsAction.INSTANCE, TransportNodesStatsAction.class);        registerAction(NodesHotThreadsAction.INSTANCE, TransportNodesHotThreadsAction.class);        registerAction(ListTasksAction.INSTANCE, TransportListTasksAction.class);        registerAction(CancelTasksAction.INSTANCE, TransportCancelTasksAction.class);        registerAction(ClusterStatsAction.INSTANCE, TransportClusterStatsAction.class);        registerAction(ClusterStateAction.INSTANCE, TransportClusterStateAction.class);        registerAction(ClusterHealthAction.INSTANCE, TransportClusterHealthAction.class);        registerAction(ClusterUpdateSettingsAction.INSTANCE, TransportClusterUpdateSettingsAction.class);        registerAction(ClusterRerouteAction.INSTANCE, TransportClusterRerouteAction.class);        registerAction(ClusterSearchShardsAction.INSTANCE, TransportClusterSearchShardsAction.class);        registerAction(PendingClusterTasksAction.INSTANCE, TransportPendingClusterTasksAction.class);        registerAction(PutRepositoryAction.INSTANCE, TransportPutRepositoryAction.class);        registerAction(GetRepositoriesAction.INSTANCE, TransportGetRepositoriesAction.class);        registerAction(DeleteRepositoryAction.INSTANCE, TransportDeleteRepositoryAction.class);        registerAction(VerifyRepositoryAction.INSTANCE, TransportVerifyRepositoryAction.class);        registerAction(GetSnapshotsAction.INSTANCE, TransportGetSnapshotsAction.class);        registerAction(DeleteSnapshotAction.INSTANCE, TransportDeleteSnapshotAction.class);        registerAction(CreateSnapshotAction.INSTANCE, TransportCreateSnapshotAction.class);        registerAction(RestoreSnapshotAction.INSTANCE, TransportRestoreSnapshotAction.class);        registerAction(SnapshotsStatusAction.INSTANCE, TransportSnapshotsStatusAction.class);        registerAction(IndicesStatsAction.INSTANCE, TransportIndicesStatsAction.class);        registerAction(IndicesSegmentsAction.INSTANCE, TransportIndicesSegmentsAction.class);        registerAction(IndicesShardStoresAction.INSTANCE, TransportIndicesShardStoresAction.class);        registerAction(CreateIndexAction.INSTANCE, TransportCreateIndexAction.class);        registerAction(DeleteIndexAction.INSTANCE, TransportDeleteIndexAction.class);        registerAction(GetIndexAction.INSTANCE, TransportGetIndexAction.class);        registerAction(OpenIndexAction.INSTANCE, TransportOpenIndexAction.class);        registerAction(CloseIndexAction.INSTANCE, TransportCloseIndexAction.class);        registerAction(IndicesExistsAction.INSTANCE, TransportIndicesExistsAction.class);        registerAction(*ExistsAction.INSTANCE, Transport*ExistsAction.class);        registerAction(GetMappingsAction.INSTANCE, TransportGetMappingsAction.class);        registerAction(GetFieldMappingsAction.INSTANCE, TransportGetFieldMappingsAction.class, TransportGetFieldMappingsIndexAction.class);        registerAction(PutMappingAction.INSTANCE, TransportPutMappingAction.class);        registerAction(IndicesAliasesAction.INSTANCE, TransportIndicesAliasesAction.class);        registerAction(UpdateSettingsAction.INSTANCE, TransportUpdateSettingsAction.class);        registerAction(AnalyzeAction.INSTANCE, TransportAnalyzeAction.class);        registerAction(PutIndexTemplateAction.INSTANCE, TransportPutIndexTemplateAction.class);        registerAction(GetIndexTemplatesAction.INSTANCE, TransportGetIndexTemplatesAction.class);        registerAction(DeleteIndexTemplateAction.INSTANCE, TransportDeleteIndexTemplateAction.class);        registerAction(ValidateQueryAction.INSTANCE, TransportValidateQueryAction.class);        registerAction(RefreshAction.INSTANCE, TransportRefreshAction.class);        registerAction(FlushAction.INSTANCE, TransportFlushAction.class);        registerAction(SyncedFlushAction.INSTANCE, TransportSyncedFlushAction.class);        registerAction(ForceMergeAction.INSTANCE, TransportForceMergeAction.class);        registerAction(UpgradeAction.INSTANCE, TransportUpgradeAction.class);        registerAction(UpgradeStatusAction.INSTANCE, TransportUpgradeStatusAction.class);        registerAction(UpgradeSettingsAction.INSTANCE, TransportUpgradeSettingsAction.class);        registerAction(ClearIndicesCacheAction.INSTANCE, TransportClearIndicesCacheAction.class);        registerAction(PutWarmerAction.INSTANCE, TransportPutWarmerAction.class);        registerAction(DeleteWarmerAction.INSTANCE, TransportDeleteWarmerAction.class);        registerAction(GetWarmersAction.INSTANCE, TransportGetWarmersAction.class);        registerAction(GetAliasesAction.INSTANCE, TransportGetAliasesAction.class);        registerAction(AliasesExistAction.INSTANCE, TransportAliasesExistAction.class);        registerAction(GetSettingsAction.INSTANCE, TransportGetSettingsAction.class);        registerAction(IndexAction.INSTANCE, TransportIndexAction.class);        registerAction(GetAction.INSTANCE, TransportGetAction.class);        registerAction(TermVectorsAction.INSTANCE, TransportTermVectorsAction.class,                TransportDfsOnlyAction.class);        registerAction(MultiTermVectorsAction.INSTANCE, TransportMultiTermVectorsAction.class,                TransportShardMultiTermsVectorAction.class);        registerAction(DeleteAction.INSTANCE, TransportDeleteAction.class);        registerAction(ExistsAction.INSTANCE, TransportExistsAction.class);        registerAction(SuggestAction.INSTANCE, TransportSuggestAction.class);        registerAction(UpdateAction.INSTANCE, TransportUpdateAction.class);        registerAction(MultiGetAction.INSTANCE, TransportMultiGetAction.class,                TransportShardMultiGetAction.class);        registerAction(BulkAction.INSTANCE, TransportBulkAction.class,                TransportShardBulkAction.class);        registerAction(SearchAction.INSTANCE, TransportSearchAction.class);        registerAction(SearchScrollAction.INSTANCE, TransportSearchScrollAction.class);        registerAction(MultiSearchAction.INSTANCE, TransportMultiSearchAction.class);        registerAction(PercolateAction.INSTANCE, TransportPercolateAction.class);        registerAction(MultiPercolateAction.INSTANCE, TransportMultiPercolateAction.class, TransportShardMultiPercolateAction.class);        registerAction(ExplainAction.INSTANCE, TransportExplainAction.class);        registerAction(ClearScrollAction.INSTANCE, TransportClearScrollAction.class);        registerAction(RecoveryAction.INSTANCE, TransportRecoveryAction.class);        registerAction(RenderSearchTemplateAction.INSTANCE, TransportRenderSearchTemplateAction.class);        //Indexed scripts        registerAction(PutIndexedScriptAction.INSTANCE, TransportPutIndexedScriptAction.class);        registerAction(GetIndexedScriptAction.INSTANCE, TransportGetIndexedScriptAction.class);        registerAction(DeleteIndexedScriptAction.INSTANCE, TransportDeleteIndexedScriptAction.class);        registerAction(FieldStatsAction.INSTANCE, TransportFieldStatsTransportAction.class);


相关文章