当前位置: 首页>>代码示例>>Java>>正文


Java IndexMetaData.getNumberOfShards方法代码示例

本文整理汇总了Java中org.elasticsearch.cluster.metadata.IndexMetaData.getNumberOfShards方法的典型用法代码示例。如果您正苦于以下问题:Java IndexMetaData.getNumberOfShards方法的具体用法?Java IndexMetaData.getNumberOfShards怎么用?Java IndexMetaData.getNumberOfShards使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.elasticsearch.cluster.metadata.IndexMetaData的用法示例。


在下文中一共展示了IndexMetaData.getNumberOfShards方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: DocIndexMetaData

import org.elasticsearch.cluster.metadata.IndexMetaData; //导入方法依赖的package包/类
public DocIndexMetaData(Functions functions, IndexMetaData metaData, TableIdent ident) throws IOException {
    this.functions = functions;
    this.ident = ident;
    this.metaData = metaData;
    this.isAlias = !metaData.getIndex().equals(ident.indexName());
    this.numberOfShards = metaData.getNumberOfShards();
    Settings settings = metaData.getSettings();
    this.numberOfReplicas = NumberOfReplicas.fromSettings(settings);
    this.aliases = ImmutableSet.copyOf(metaData.getAliases().keys().toArray(String.class));
    this.defaultMappingMetaData = this.metaData.mappingOrDefault(Constants.DEFAULT_MAPPING_TYPE);
    if (defaultMappingMetaData == null) {
        this.defaultMappingMap = ImmutableMap.of();
    } else {
        this.defaultMappingMap = this.defaultMappingMetaData.sourceAsMap();
    }
    this.tableParameters = TableParameterInfo.tableParametersFromIndexMetaData(metaData);

    Map<String, Object> metaMap = getNested(defaultMappingMap, "_meta");
    indicesMap = getNested(metaMap, "indices", ImmutableMap.<String, Object>of());
    partitionedByList = getNested(metaMap, "partitioned_by", ImmutableList.<List<String>>of());
    generatedColumns = getNested(metaMap, "generated_columns", ImmutableMap.<String, String>of());
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:23,代码来源:DocIndexMetaData.java

示例2: initializeAsRestore

import org.elasticsearch.cluster.metadata.IndexMetaData; //导入方法依赖的package包/类
/**
 * Initializes an index, to be restored from snapshot
 */
private Builder initializeAsRestore(IndexMetaData indexMetaData, RestoreSource restoreSource, IntSet ignoreShards, boolean asNew, UnassignedInfo unassignedInfo) {
    if (!shards.isEmpty()) {
        throw new IllegalStateException("trying to initialize an index with fresh shards, but already has shards created");
    }
    for (int shardId = 0; shardId < indexMetaData.getNumberOfShards(); shardId++) {
        IndexShardRoutingTable.Builder indexShardRoutingBuilder = new IndexShardRoutingTable.Builder(new ShardId(indexMetaData.getIndex(), shardId));
        for (int i = 0; i <= indexMetaData.getNumberOfReplicas(); i++) {
            if (asNew && ignoreShards.contains(shardId)) {
                // This shards wasn't completely snapshotted - restore it as new shard
                indexShardRoutingBuilder.addShard(ShardRouting.newUnassigned(index, shardId, null, i == 0, unassignedInfo));
            } else {
                indexShardRoutingBuilder.addShard(ShardRouting.newUnassigned(index, shardId, i == 0 ? restoreSource : null, i == 0, unassignedInfo));
            }
        }
        shards.put(shardId, indexShardRoutingBuilder.build());
    }
    return this;
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:22,代码来源:IndexRoutingTable.java

示例3: toString

import org.elasticsearch.cluster.metadata.IndexMetaData; //导入方法依赖的package包/类
@Override
public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("cluster uuid: ").append(metaData.clusterUUID()).append("\n");
    sb.append("version: ").append(version).append("\n");
    sb.append("state uuid: ").append(stateUUID).append("\n");
    sb.append("from_diff: ").append(wasReadFromDiff).append("\n");
    sb.append("meta data version: ").append(metaData.version()).append("\n");
    final String TAB = "   ";
    for (IndexMetaData indexMetaData : metaData) {
        sb.append(TAB).append(indexMetaData.getIndex());
        sb.append(": v[").append(indexMetaData.getVersion()).append("]\n");
        for (int shard = 0; shard < indexMetaData.getNumberOfShards(); shard++) {
            sb.append(TAB).append(TAB).append(shard).append(": ");
            sb.append("p_term [").append(indexMetaData.primaryTerm(shard)).append("], ");
            sb.append("isa_ids ").append(indexMetaData.inSyncAllocationIds(shard)).append("\n");
        }
    }
    sb.append(blocks());
    sb.append(nodes());
    sb.append(routingTable());
    sb.append(getRoutingNodes());
    if (customs.isEmpty() == false) {
        sb.append("customs:\n");
        for (ObjectObjectCursor<String, Custom> cursor : customs) {
            final String type = cursor.key;
            final Custom custom = cursor.value;
            sb.append(TAB).append(type).append(": ").append(custom);
        }
    }
    return sb.toString();
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:33,代码来源:ClusterState.java

示例4: genIndexRoutingTable

import org.elasticsearch.cluster.metadata.IndexMetaData; //导入方法依赖的package包/类
public IndexRoutingTable genIndexRoutingTable(IndexMetaData indexMetaData, ShardCounter counter) {
    IndexRoutingTable.Builder builder = IndexRoutingTable.builder(indexMetaData.getIndex());
    for (int shard = 0; shard < indexMetaData.getNumberOfShards(); shard++) {
        builder.addIndexShard(genShardRoutingTable(indexMetaData, shard, counter));
    }
    return builder.build();
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:8,代码来源:RoutingTableGenerator.java

示例5: initializeEmpty

import org.elasticsearch.cluster.metadata.IndexMetaData; //导入方法依赖的package包/类
/**
 * Initializes a new empty index, with an option to control if its from an API or not.
 */
private Builder initializeEmpty(IndexMetaData indexMetaData, UnassignedInfo unassignedInfo) {
    if (!shards.isEmpty()) {
        throw new IllegalStateException("trying to initialize an index with fresh shards, but already has shards created");
    }
    for (int shardId = 0; shardId < indexMetaData.getNumberOfShards(); shardId++) {
        IndexShardRoutingTable.Builder indexShardRoutingBuilder = new IndexShardRoutingTable.Builder(new ShardId(indexMetaData.getIndex(), shardId));
        for (int i = 0; i <= indexMetaData.getNumberOfReplicas(); i++) {
            indexShardRoutingBuilder.addShard(ShardRouting.newUnassigned(index, shardId, null, i == 0, unassignedInfo));
        }
        shards.put(shardId, indexShardRoutingBuilder.build());
    }
    return this;
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:17,代码来源:IndexRoutingTable.java

示例6: ClusterIndexHealth

import org.elasticsearch.cluster.metadata.IndexMetaData; //导入方法依赖的package包/类
public ClusterIndexHealth(IndexMetaData indexMetaData, IndexRoutingTable indexRoutingTable) {
    this.index = indexMetaData.getIndex();
    this.numberOfShards = indexMetaData.getNumberOfShards();
    this.numberOfReplicas = indexMetaData.getNumberOfReplicas();
    this.validationFailures = indexRoutingTable.validate(indexMetaData);

    for (IndexShardRoutingTable shardRoutingTable : indexRoutingTable) {
        int shardId = shardRoutingTable.shardId().id();
        shards.put(shardId, new ClusterShardHealth(shardId, shardRoutingTable));
    }

    // update the index status
    status = ClusterHealthStatus.GREEN;

    for (ClusterShardHealth shardHealth : shards.values()) {
        if (shardHealth.isPrimaryActive()) {
            activePrimaryShards++;
        }
        activeShards += shardHealth.getActiveShards();
        relocatingShards += shardHealth.getRelocatingShards();
        initializingShards += shardHealth.getInitializingShards();
        unassignedShards += shardHealth.getUnassignedShards();

        if (shardHealth.getStatus() == ClusterHealthStatus.RED) {
            status = ClusterHealthStatus.RED;
        } else if (shardHealth.getStatus() == ClusterHealthStatus.YELLOW && status != ClusterHealthStatus.RED) {
            // do not override an existing red
            status = ClusterHealthStatus.YELLOW;
        }
    }
    if (!validationFailures.isEmpty()) {
        status = ClusterHealthStatus.RED;
    } else if (shards.isEmpty()) { // might be since none has been created yet (two phase index creation)
        status = ClusterHealthStatus.RED;
    }
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:37,代码来源:ClusterIndexHealth.java

示例7: ClusterIndexHealth

import org.elasticsearch.cluster.metadata.IndexMetaData; //导入方法依赖的package包/类
public ClusterIndexHealth(final IndexMetaData indexMetaData, final IndexRoutingTable indexRoutingTable) {
    this.index = indexMetaData.getIndex().getName();
    this.numberOfShards = indexMetaData.getNumberOfShards();
    this.numberOfReplicas = indexMetaData.getNumberOfReplicas();

    for (IndexShardRoutingTable shardRoutingTable : indexRoutingTable) {
        int shardId = shardRoutingTable.shardId().id();
        shards.put(shardId, new ClusterShardHealth(shardId, shardRoutingTable));
    }

    // update the index status
    ClusterHealthStatus computeStatus = ClusterHealthStatus.GREEN;
    int computeActivePrimaryShards = 0;
    int computeActiveShards = 0;
    int computeRelocatingShards = 0;
    int computeInitializingShards = 0;
    int computeUnassignedShards = 0;
    for (ClusterShardHealth shardHealth : shards.values()) {
        if (shardHealth.isPrimaryActive()) {
            computeActivePrimaryShards++;
        }
        computeActiveShards += shardHealth.getActiveShards();
        computeRelocatingShards += shardHealth.getRelocatingShards();
        computeInitializingShards += shardHealth.getInitializingShards();
        computeUnassignedShards += shardHealth.getUnassignedShards();

        if (shardHealth.getStatus() == ClusterHealthStatus.RED) {
            computeStatus = ClusterHealthStatus.RED;
        } else if (shardHealth.getStatus() == ClusterHealthStatus.YELLOW && computeStatus != ClusterHealthStatus.RED) {
            // do not override an existing red
            computeStatus = ClusterHealthStatus.YELLOW;
        }
    }
    if (shards.isEmpty()) { // might be since none has been created yet (two phase index creation)
        computeStatus = ClusterHealthStatus.RED;
    }

    this.status = computeStatus;
    this.activePrimaryShards = computeActivePrimaryShards;
    this.activeShards = computeActiveShards;
    this.relocatingShards = computeRelocatingShards;
    this.initializingShards = computeInitializingShards;
    this.unassignedShards = computeUnassignedShards;
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:45,代码来源:ClusterIndexHealth.java


注:本文中的org.elasticsearch.cluster.metadata.IndexMetaData.getNumberOfShards方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。