Class IndexMetaData

    • Field Detail

      • INDEX_READ_ONLY_BLOCK

        public static final ClusterBlock INDEX_READ_ONLY_BLOCK
      • INDEX_READ_BLOCK

        public static final ClusterBlock INDEX_READ_BLOCK
      • INDEX_WRITE_BLOCK

        public static final ClusterBlock INDEX_WRITE_BLOCK
      • INDEX_METADATA_BLOCK

        public static final ClusterBlock INDEX_METADATA_BLOCK
      • INDEX_READ_ONLY_ALLOW_DELETE_BLOCK

        public static final ClusterBlock INDEX_READ_ONLY_ALLOW_DELETE_BLOCK
      • INDEX_SETTING_PREFIX

        public static final java.lang.String INDEX_SETTING_PREFIX
        See Also:
        Constant Field Values
      • SETTING_NUMBER_OF_SHARDS

        public static final java.lang.String SETTING_NUMBER_OF_SHARDS
        See Also:
        Constant Field Values
      • INDEX_NUMBER_OF_SHARDS_SETTING

        public static final Setting<java.lang.Integer> INDEX_NUMBER_OF_SHARDS_SETTING
      • SETTING_NUMBER_OF_REPLICAS

        public static final java.lang.String SETTING_NUMBER_OF_REPLICAS
        See Also:
        Constant Field Values
      • INDEX_NUMBER_OF_REPLICAS_SETTING

        public static final Setting<java.lang.Integer> INDEX_NUMBER_OF_REPLICAS_SETTING
      • SETTING_ROUTING_PARTITION_SIZE

        public static final java.lang.String SETTING_ROUTING_PARTITION_SIZE
        See Also:
        Constant Field Values
      • INDEX_ROUTING_PARTITION_SIZE_SETTING

        public static final Setting<java.lang.Integer> INDEX_ROUTING_PARTITION_SIZE_SETTING
      • INDEX_NUMBER_OF_ROUTING_SHARDS_SETTING

        public static final Setting<java.lang.Integer> INDEX_NUMBER_OF_ROUTING_SHARDS_SETTING
      • SETTING_AUTO_EXPAND_REPLICAS

        public static final java.lang.String SETTING_AUTO_EXPAND_REPLICAS
        See Also:
        Constant Field Values
      • SETTING_READ_ONLY

        public static final java.lang.String SETTING_READ_ONLY
        See Also:
        Constant Field Values
      • INDEX_READ_ONLY_SETTING

        public static final Setting<java.lang.Boolean> INDEX_READ_ONLY_SETTING
      • SETTING_BLOCKS_READ

        public static final java.lang.String SETTING_BLOCKS_READ
        See Also:
        Constant Field Values
      • INDEX_BLOCKS_READ_SETTING

        public static final Setting<java.lang.Boolean> INDEX_BLOCKS_READ_SETTING
      • SETTING_BLOCKS_WRITE

        public static final java.lang.String SETTING_BLOCKS_WRITE
        See Also:
        Constant Field Values
      • INDEX_BLOCKS_WRITE_SETTING

        public static final Setting<java.lang.Boolean> INDEX_BLOCKS_WRITE_SETTING
      • SETTING_BLOCKS_METADATA

        public static final java.lang.String SETTING_BLOCKS_METADATA
        See Also:
        Constant Field Values
      • INDEX_BLOCKS_METADATA_SETTING

        public static final Setting<java.lang.Boolean> INDEX_BLOCKS_METADATA_SETTING
      • SETTING_READ_ONLY_ALLOW_DELETE

        public static final java.lang.String SETTING_READ_ONLY_ALLOW_DELETE
        See Also:
        Constant Field Values
      • INDEX_BLOCKS_READ_ONLY_ALLOW_DELETE_SETTING

        public static final Setting<java.lang.Boolean> INDEX_BLOCKS_READ_ONLY_ALLOW_DELETE_SETTING
      • SETTING_VERSION_CREATED

        public static final java.lang.String SETTING_VERSION_CREATED
        See Also:
        Constant Field Values
      • SETTING_INDEX_VERSION_CREATED

        public static final Setting<Version> SETTING_INDEX_VERSION_CREATED
      • SETTING_VERSION_CREATED_STRING

        public static final java.lang.String SETTING_VERSION_CREATED_STRING
        See Also:
        Constant Field Values
      • SETTING_VERSION_UPGRADED

        public static final java.lang.String SETTING_VERSION_UPGRADED
        See Also:
        Constant Field Values
      • SETTING_VERSION_UPGRADED_STRING

        public static final java.lang.String SETTING_VERSION_UPGRADED_STRING
        See Also:
        Constant Field Values
      • SETTING_CREATION_DATE

        public static final java.lang.String SETTING_CREATION_DATE
        See Also:
        Constant Field Values
      • SETTING_INDEX_PROVIDED_NAME

        public static final java.lang.String SETTING_INDEX_PROVIDED_NAME
        The user provided name for an index. This is the plain string provided by the user when the index was created. It might still contain date math expressions etc. (added in 5.0)
        See Also:
        Constant Field Values
      • SETTING_PRIORITY

        public static final java.lang.String SETTING_PRIORITY
        See Also:
        Constant Field Values
      • INDEX_PRIORITY_SETTING

        public static final Setting<java.lang.Integer> INDEX_PRIORITY_SETTING
      • SETTING_CREATION_DATE_STRING

        public static final java.lang.String SETTING_CREATION_DATE_STRING
        See Also:
        Constant Field Values
      • SETTING_INDEX_UUID

        public static final java.lang.String SETTING_INDEX_UUID
        See Also:
        Constant Field Values
      • SETTING_DATA_PATH

        public static final java.lang.String SETTING_DATA_PATH
        See Also:
        Constant Field Values
      • INDEX_DATA_PATH_SETTING

        public static final Setting<java.lang.String> INDEX_DATA_PATH_SETTING
      • INDEX_UUID_NA_VALUE

        public static final java.lang.String INDEX_UUID_NA_VALUE
        See Also:
        Constant Field Values
      • INDEX_ROUTING_REQUIRE_GROUP_PREFIX

        public static final java.lang.String INDEX_ROUTING_REQUIRE_GROUP_PREFIX
        See Also:
        Constant Field Values
      • INDEX_ROUTING_INCLUDE_GROUP_PREFIX

        public static final java.lang.String INDEX_ROUTING_INCLUDE_GROUP_PREFIX
        See Also:
        Constant Field Values
      • INDEX_ROUTING_EXCLUDE_GROUP_PREFIX

        public static final java.lang.String INDEX_ROUTING_EXCLUDE_GROUP_PREFIX
        See Also:
        Constant Field Values
      • INDEX_ROUTING_REQUIRE_GROUP_SETTING

        public static final Setting.AffixSetting<java.lang.String> INDEX_ROUTING_REQUIRE_GROUP_SETTING
      • INDEX_ROUTING_INCLUDE_GROUP_SETTING

        public static final Setting.AffixSetting<java.lang.String> INDEX_ROUTING_INCLUDE_GROUP_SETTING
      • INDEX_ROUTING_EXCLUDE_GROUP_SETTING

        public static final Setting.AffixSetting<java.lang.String> INDEX_ROUTING_EXCLUDE_GROUP_SETTING
      • INDEX_ROUTING_INITIAL_RECOVERY_GROUP_SETTING

        public static final Setting.AffixSetting<java.lang.String> INDEX_ROUTING_INITIAL_RECOVERY_GROUP_SETTING
      • SETTING_WAIT_FOR_ACTIVE_SHARDS

        public static final Setting<ActiveShardCount> SETTING_WAIT_FOR_ACTIVE_SHARDS
        The number of active shard copies to check for before proceeding with a write operation.
      • INDEX_FORMAT_SETTING

        public static final Setting<java.lang.Integer> INDEX_FORMAT_SETTING
      • KEY_IN_SYNC_ALLOCATIONS

        public static final java.lang.String KEY_IN_SYNC_ALLOCATIONS
        See Also:
        Constant Field Values
      • KEY_PRIMARY_TERMS

        public static final java.lang.String KEY_PRIMARY_TERMS
        See Also:
        Constant Field Values
      • INDEX_STATE_FILE_PREFIX

        public static final java.lang.String INDEX_STATE_FILE_PREFIX
        See Also:
        Constant Field Values
      • INDEX_SHRINK_SOURCE_UUID_KEY

        public static final java.lang.String INDEX_SHRINK_SOURCE_UUID_KEY
        See Also:
        Constant Field Values
      • INDEX_SHRINK_SOURCE_NAME_KEY

        public static final java.lang.String INDEX_SHRINK_SOURCE_NAME_KEY
        See Also:
        Constant Field Values
      • INDEX_RESIZE_SOURCE_UUID_KEY

        public static final java.lang.String INDEX_RESIZE_SOURCE_UUID_KEY
        See Also:
        Constant Field Values
      • INDEX_RESIZE_SOURCE_NAME_KEY

        public static final java.lang.String INDEX_RESIZE_SOURCE_NAME_KEY
        See Also:
        Constant Field Values
      • INDEX_SHRINK_SOURCE_UUID

        public static final Setting<java.lang.String> INDEX_SHRINK_SOURCE_UUID
      • INDEX_SHRINK_SOURCE_NAME

        public static final Setting<java.lang.String> INDEX_SHRINK_SOURCE_NAME
      • INDEX_RESIZE_SOURCE_UUID

        public static final Setting<java.lang.String> INDEX_RESIZE_SOURCE_UUID
      • INDEX_RESIZE_SOURCE_NAME

        public static final Setting<java.lang.String> INDEX_RESIZE_SOURCE_NAME
    • Method Detail

      • getIndex

        public Index getIndex()
      • getIndexUUID

        public java.lang.String getIndexUUID()
      • isSameUUID

        public boolean isSameUUID​(java.lang.String otherUUID)
        Test whether the current index UUID is the same as the given one. Returns true if either are _na_
      • getVersion

        public long getVersion()
      • getMappingVersion

        public long getMappingVersion()
      • getSettingsVersion

        public long getSettingsVersion()
      • getCreationVersion

        public Version getCreationVersion()
        Return the Version on which this index has been created. This information is typically useful for backward compatibility.
      • getUpgradedVersion

        public Version getUpgradedVersion()
        Return the Version on which this index has been upgraded. This information is typically useful for backward compatibility.
      • getCreationDate

        public long getCreationDate()
      • getNumberOfShards

        public int getNumberOfShards()
      • getNumberOfReplicas

        public int getNumberOfReplicas()
      • getRoutingPartitionSize

        public int getRoutingPartitionSize()
      • isRoutingPartitionedIndex

        public boolean isRoutingPartitionedIndex()
      • getTotalNumberOfShards

        public int getTotalNumberOfShards()
      • getSettings

        public Settings getSettings()
      • getResizeSourceIndex

        public Index getResizeSourceIndex()
      • mappingOrDefault

        @Nullable
        public MappingMetaData mappingOrDefault​(java.lang.String mappingType)
        Sometimes, the default mapping exists and an actual mapping is not created yet (introduced), in this case, we want to return the default mapping in case it has some default mapping definitions.

        Note, once the mapping type is introduced, the default mapping is applied on the actual typed MappingMetaData, setting its routing, timestamp, and so on if needed.

      • resolveDocumentType

        public java.lang.String resolveDocumentType​(java.lang.String type)
        Resolves a type from a mapping-related request into the type that should be used when merging and updating mappings. If the special `_doc` type is provided, then we replace it with the actual type that is being used in the mappings. This allows typeless APIs such as 'index' or 'put mappings' to work against indices with a custom type name.
      • getCustomData

        public java.util.Map<java.lang.String,​java.lang.String> getCustomData​(java.lang.String key)
      • getInSyncAllocationIds

        public ImmutableOpenIntMap<java.util.Set<java.lang.String>> getInSyncAllocationIds()
      • inSyncAllocationIds

        public java.util.Set<java.lang.String> inSyncAllocationIds​(int shardId)
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • fromXContent

        public static IndexMetaData fromXContent​(XContentParser parser)
                                          throws java.io.IOException
        Throws:
        java.io.IOException
      • readFrom

        public static IndexMetaData readFrom​(StreamInput in)
                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • addHumanReadableSettings

        public static Settings addHumanReadableSettings​(Settings settings)
        Adds human readable version and creation date settings. This method is used to display the settings in a human readable format in REST API
      • getRoutingFactor

        public int getRoutingFactor()
        Returns the routing factor for this index. The default is 1.
        See Also:
        for details
      • selectSplitShard

        public static ShardId selectSplitShard​(int shardId,
                                               IndexMetaData sourceIndexMetadata,
                                               int numTargetShards)
        Returns the source shard ID to split the given target shard off
        Parameters:
        shardId - the id of the target shard to split into
        sourceIndexMetadata - the source index metadata
        numTargetShards - the total number of shards in the target index
        Returns:
        a the source shard ID to split off from
      • selectRecoverFromShards

        public static java.util.Set<ShardId> selectRecoverFromShards​(int shardId,
                                                                     IndexMetaData sourceIndexMetadata,
                                                                     int numTargetShards)
        Selects the source shards for a local shard recovery. This might either be a split or a shrink operation.
        Parameters:
        shardId - the target shard ID to select the source shards for
        sourceIndexMetadata - the source metadata
        numTargetShards - the number of target shards
      • selectShrinkShards

        public static java.util.Set<ShardId> selectShrinkShards​(int shardId,
                                                                IndexMetaData sourceIndexMetadata,
                                                                int numTargetShards)
        Returns the source shard ids to shrink into the given shard id.
        Parameters:
        shardId - the id of the target shard to shrink to
        sourceIndexMetadata - the source index metadata
        numTargetShards - the total number of shards in the target index
        Returns:
        a set of shard IDs to shrink into the given shard ID.
      • getRoutingFactor

        public static int getRoutingFactor​(int sourceNumberOfShards,
                                           int targetNumberOfShards)
        Returns the routing factor for and shrunk index with the given number of target shards. This factor is used in the hash function in OperationRouting.generateShardId(IndexMetaData, String, String) to guarantee consistent hashing / routing of documents even if the number of shards changed (ie. a shrunk index).
        Parameters:
        sourceNumberOfShards - the total number of shards in the source index
        targetNumberOfShards - the total number of shards in the target index
        Returns:
        the routing factor for and shrunk index with the given number of target shards.
        Throws:
        java.lang.IllegalArgumentException - if the number of source shards is less than the number of target shards or if the source shards are not divisible by the number of target shards.