org.elasticsearch.cluster.metadata.IndexMetaData.getRoutingPartitionSize()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(10.3k)|赞(0)|评价(0)|浏览(59)

本文整理了Java中org.elasticsearch.cluster.metadata.IndexMetaData.getRoutingPartitionSize()方法的一些代码示例,展示了IndexMetaData.getRoutingPartitionSize()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。IndexMetaData.getRoutingPartitionSize()方法的具体详情如下:
包路径:org.elasticsearch.cluster.metadata.IndexMetaData
类名称:IndexMetaData
方法名:getRoutingPartitionSize

IndexMetaData.getRoutingPartitionSize介绍

暂无

代码示例

代码示例来源:origin: org.elasticsearch/elasticsearch

private Set<IndexShardRoutingTable> computeTargetedShards(ClusterState clusterState, String[] concreteIndices,
                             @Nullable Map<String, Set<String>> routing) {
  routing = routing == null ? EMPTY_ROUTING : routing; // just use an empty map
  final Set<IndexShardRoutingTable> set = new HashSet<>();
  // we use set here and not list since we might get duplicates
  for (String index : concreteIndices) {
    final IndexRoutingTable indexRouting = indexRoutingTable(clusterState, index);
    final IndexMetaData indexMetaData = indexMetaData(clusterState, index);
    final Set<String> effectiveRouting = routing.get(index);
    if (effectiveRouting != null) {
      for (String r : effectiveRouting) {
        final int routingPartitionSize = indexMetaData.getRoutingPartitionSize();
        for (int partitionOffset = 0; partitionOffset < routingPartitionSize; partitionOffset++) {
          set.add(shardRoutingTable(indexRouting, calculateScaledShardId(indexMetaData, r, partitionOffset)));
        }
      }
    } else {
      for (IndexShardRoutingTable indexShard : indexRouting) {
        set.add(indexShard);
      }
    }
  }
  return set;
}

代码示例来源:origin: org.elasticsearch/elasticsearch

.put(IndexMetaData.SETTING_VERSION_UPGRADED, sourceMetaData.getUpgradedVersion())
.put(builder.build())
.put(IndexMetaData.SETTING_ROUTING_PARTITION_SIZE, sourceMetaData.getRoutingPartitionSize())
.put(IndexMetaData.INDEX_RESIZE_SOURCE_NAME.getKey(), resizeSourceIndex.getName())
.put(IndexMetaData.INDEX_RESIZE_SOURCE_UUID.getKey(), resizeSourceIndex.getUUID());

代码示例来源:origin: org.elasticsearch/elasticsearch

public static int generateShardId(IndexMetaData indexMetaData, @Nullable String id, @Nullable String routing) {
  final String effectiveRouting;
  final int partitionOffset;
  if (routing == null) {
    assert(indexMetaData.isRoutingPartitionedIndex() == false) : "A routing value is required for gets from a partitioned index";
    effectiveRouting = id;
  } else {
    effectiveRouting = routing;
  }
  if (indexMetaData.isRoutingPartitionedIndex()) {
    partitionOffset = Math.floorMod(Murmur3HashFunction.hash(id), indexMetaData.getRoutingPartitionSize());
  } else {
    // we would have still got 0 above but this check just saves us an unnecessary hash calculation
    partitionOffset = 0;
  }
  return calculateScaledShardId(indexMetaData, effectiveRouting, partitionOffset);
}

代码示例来源:origin: apache/servicemix-bundles

private Set<IndexShardRoutingTable> computeTargetedShards(ClusterState clusterState, String[] concreteIndices, @Nullable Map<String, Set<String>> routing) {
  routing = routing == null ? EMPTY_ROUTING : routing; // just use an empty map
  final Set<IndexShardRoutingTable> set = new HashSet<>();
  // we use set here and not list since we might get duplicates
  for (String index : concreteIndices) {
    final IndexRoutingTable indexRouting = indexRoutingTable(clusterState, index);
    final IndexMetaData indexMetaData = indexMetaData(clusterState, index);
    final Set<String> effectiveRouting = routing.get(index);
    if (effectiveRouting != null) {
      for (String r : effectiveRouting) {
        final int routingPartitionSize = indexMetaData.getRoutingPartitionSize();
        for (int partitionOffset = 0; partitionOffset < routingPartitionSize; partitionOffset++) {
          set.add(shardRoutingTable(indexRouting, calculateScaledShardId(indexMetaData, r, partitionOffset)));
        }
      }
    } else {
      for (IndexShardRoutingTable indexShard : indexRouting) {
        set.add(indexShard);
      }
    }
  }
  return set;
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

private Set<IndexShardRoutingTable> computeTargetedShards(ClusterState clusterState, String[] concreteIndices, @Nullable Map<String, Set<String>> routing) {
  routing = routing == null ? EMPTY_ROUTING : routing; // just use an empty map
  final Set<IndexShardRoutingTable> set = new HashSet<>();
  // we use set here and not list since we might get duplicates
  for (String index : concreteIndices) {
    final IndexRoutingTable indexRouting = indexRoutingTable(clusterState, index);
    final IndexMetaData indexMetaData = indexMetaData(clusterState, index);
    final Set<String> effectiveRouting = routing.get(index);
    if (effectiveRouting != null) {
      for (String r : effectiveRouting) {
        final int routingPartitionSize = indexMetaData.getRoutingPartitionSize();
        for (int partitionOffset = 0; partitionOffset < routingPartitionSize; partitionOffset++) {
          set.add(shardRoutingTable(indexRouting, calculateScaledShardId(indexMetaData, r, partitionOffset)));
        }
      }
    } else {
      for (IndexShardRoutingTable indexShard : indexRouting) {
        set.add(indexShard);
      }
    }
  }
  return set;
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.elasticsearch

private Set<IndexShardRoutingTable> computeTargetedShards(ClusterState clusterState, String[] concreteIndices, @Nullable Map<String, Set<String>> routing) {
  routing = routing == null ? EMPTY_ROUTING : routing; // just use an empty map
  final Set<IndexShardRoutingTable> set = new HashSet<>();
  // we use set here and not list since we might get duplicates
  for (String index : concreteIndices) {
    final IndexRoutingTable indexRouting = indexRoutingTable(clusterState, index);
    final IndexMetaData indexMetaData = indexMetaData(clusterState, index);
    final Set<String> effectiveRouting = routing.get(index);
    if (effectiveRouting != null) {
      for (String r : effectiveRouting) {
        final int routingPartitionSize = indexMetaData.getRoutingPartitionSize();
        for (int partitionOffset = 0; partitionOffset < routingPartitionSize; partitionOffset++) {
          set.add(shardRoutingTable(indexRouting, calculateScaledShardId(indexMetaData, r, partitionOffset)));
        }
      }
    } else {
      for (IndexShardRoutingTable indexShard : indexRouting) {
        set.add(indexShard);
      }
    }
  }
  return set;
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

static void prepareShrinkIndexSettings(ClusterState currentState, Set<String> mappingKeys, Settings.Builder indexSettingsBuilder, Index shrinkFromIndex, String shrinkIntoName) {
  final IndexMetaData sourceMetaData = currentState.metaData().index(shrinkFromIndex.getName());
  final List<String> nodesToAllocateOn = validateShrinkIndex(currentState, shrinkFromIndex.getName(),
    mappingKeys, shrinkIntoName, indexSettingsBuilder.build());
  final Predicate<String> analysisSimilarityPredicate = (s) -> s.startsWith("index.similarity.")
    || s.startsWith("index.analysis.");
  indexSettingsBuilder
    // we use "i.r.a.initial_recovery" rather than "i.r.a.require|include" since we want the replica to allocate right away
    // once we are allocated.
    .put(IndexMetaData.INDEX_ROUTING_INITIAL_RECOVERY_GROUP_SETTING.getKey() + "_id",
      Strings.arrayToCommaDelimitedString(nodesToAllocateOn.toArray()))
    // we only try once and then give up with a shrink index
    .put("index.allocation.max_retries", 1)
    // now copy all similarity / analysis settings - this overrides all settings from the user unless they
    // wanna add extra settings
    .put(IndexMetaData.SETTING_VERSION_CREATED, sourceMetaData.getCreationVersion())
    .put(IndexMetaData.SETTING_VERSION_UPGRADED, sourceMetaData.getUpgradedVersion())
    .put(sourceMetaData.getSettings().filter(analysisSimilarityPredicate))
    .put(IndexMetaData.SETTING_ROUTING_PARTITION_SIZE, sourceMetaData.getRoutingPartitionSize())
    .put(IndexMetaData.INDEX_SHRINK_SOURCE_NAME.getKey(), shrinkFromIndex.getName())
    .put(IndexMetaData.INDEX_SHRINK_SOURCE_UUID.getKey(), shrinkFromIndex.getUUID());
}

代码示例来源:origin: apache/servicemix-bundles

.put(IndexMetaData.SETTING_VERSION_UPGRADED, sourceMetaData.getUpgradedVersion())
.put(builder.build())
.put(IndexMetaData.SETTING_ROUTING_PARTITION_SIZE, sourceMetaData.getRoutingPartitionSize())
.put(IndexMetaData.INDEX_RESIZE_SOURCE_NAME.getKey(), resizeSourceIndex.getName())
.put(IndexMetaData.INDEX_RESIZE_SOURCE_UUID.getKey(), resizeSourceIndex.getUUID());

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.elasticsearch

public static int generateShardId(IndexMetaData indexMetaData, @Nullable String id, @Nullable String routing) {
  final String effectiveRouting;
  final int partitionOffset;
  if (routing == null) {
    assert(indexMetaData.isRoutingPartitionedIndex() == false) : "A routing value is required for gets from a partitioned index";
    effectiveRouting = id;
  } else {
    effectiveRouting = routing;
  }
  if (indexMetaData.isRoutingPartitionedIndex()) {
    partitionOffset = Math.floorMod(Murmur3HashFunction.hash(id), indexMetaData.getRoutingPartitionSize());
  } else {
    // we would have still got 0 above but this check just saves us an unnecessary hash calculation
    partitionOffset = 0;
  }
  return calculateScaledShardId(indexMetaData, effectiveRouting, partitionOffset);
}

代码示例来源:origin: com.strapdata.elasticsearch/elasticsearch

static int generateShardId(IndexMetaData indexMetaData, @Nullable String id, @Nullable String routing) {
  final String effectiveRouting;
  final int partitionOffset;
  if (routing == null) {
    assert(indexMetaData.isRoutingPartitionedIndex() == false) : "A routing value is required for gets from a partitioned index";
    effectiveRouting = id;
  } else {
    effectiveRouting = routing;
  }
  if (indexMetaData.isRoutingPartitionedIndex()) {
    partitionOffset = Math.floorMod(Murmur3HashFunction.hash(id), indexMetaData.getRoutingPartitionSize());
  } else {
    // we would have still got 0 above but this check just saves us an unnecessary hash calculation
    partitionOffset = 0;
  }
  return calculateScaledShardId(indexMetaData, effectiveRouting, partitionOffset);
}

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.elasticsearch

.put(IndexMetaData.SETTING_VERSION_UPGRADED, sourceMetaData.getUpgradedVersion())
.put(builder.build())
.put(IndexMetaData.SETTING_ROUTING_PARTITION_SIZE, sourceMetaData.getRoutingPartitionSize())
.put(IndexMetaData.INDEX_RESIZE_SOURCE_NAME.getKey(), resizeSourceIndex.getName())
.put(IndexMetaData.INDEX_RESIZE_SOURCE_UUID.getKey(), resizeSourceIndex.getUUID());

代码示例来源:origin: apache/servicemix-bundles

public static int generateShardId(IndexMetaData indexMetaData, @Nullable String id, @Nullable String routing) {
  final String effectiveRouting;
  final int partitionOffset;
  if (routing == null) {
    assert(indexMetaData.isRoutingPartitionedIndex() == false) : "A routing value is required for gets from a partitioned index";
    effectiveRouting = id;
  } else {
    effectiveRouting = routing;
  }
  if (indexMetaData.isRoutingPartitionedIndex()) {
    partitionOffset = Math.floorMod(Murmur3HashFunction.hash(id), indexMetaData.getRoutingPartitionSize());
  } else {
    // we would have still got 0 above but this check just saves us an unnecessary hash calculation
    partitionOffset = 0;
  }
  return calculateScaledShardId(indexMetaData, effectiveRouting, partitionOffset);
}

相关文章

微信公众号

最新文章

更多

IndexMetaData类方法