1.http模块概述 The http module allows to expose Elasticsearch APIs over HTTP. The http mechanism is completely asynchronous in nature, meaning that there is no blocking thread waiting for a response. The benefit of using asynchronous communication for HT…
elasticsearch里面的组件基本都是用Guice的Injector进行注入与获取实例方式进行模块化管理. 在node的构造方法中 /** * Constructs a node * * @param environment the environment for this node * @param classpathPlugins the plugins to be loaded from the classpath * @param forbidPrivateIndexSetting…
1.DiscoveryModule概述 /** * A module for loading classes for node discovery. */ 2.discovery The discovery module is responsible for discovering nodes within a cluster, as well as electing a master node. Note, Elasticsearch is a peer to peer based syste…
1.RestClient /** * Client that connects to an Elasticsearch cluster through HTTP. * <p> * Must be created using {@link RestClientBuilder}, which allows to set all the different options or just rely on defaults. * The hosts that are part of the clust…
1.SettingsModule概述 /** * A module that binds the provided settings to the {@link Settings} interface. */ 2.Setting 2.1 IndexScopedSettings /** * Encapsulates all valid index level settings. * @see Property#IndexScope */ 内置的设置 public static final Set<…
1.RepositoriesModule概述 Sets up classes for Snapshot/Restore 1.1 snapshot概述 A snapshot is a backup taken from a running Elasticsearch cluster. You can take a snapshot of individual indices or of the entire cluster and store it in a repository on a sha…
1.node概述 Any time that you start an instance of Elasticsearch, you are starting a node. A collection of connected nodes is called a cluster. If you are running a single node of Elasticsearch, then you have a cluster of one node. Every node in the clu…
1.gateway概述 The local gateway module stores the cluster state and shard data across full cluster restarts. 2.gatewaymodule模块 @Override protected void configure() { bind(DanglingIndicesState.class).asEagerSingleton(); bind(GatewayService.class).asEage…