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

x33g5p2x  于2022-01-25 转载在 其他  
字(14.8k)|赞(0)|评价(0)|浏览(117)

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

MetaData.templates介绍

暂无

代码示例

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

/**
 * Finds index templates whose index pattern matched with the given index name.
 * The result is sorted by {@link IndexTemplateMetaData#order} descending.
 */
public static List<IndexTemplateMetaData> findTemplates(MetaData metaData, String indexName) {
  final List<IndexTemplateMetaData> matchedTemplates = new ArrayList<>();
  for (ObjectCursor<IndexTemplateMetaData> cursor : metaData.templates().values()) {
    final IndexTemplateMetaData template = cursor.value;
    final boolean matched = template.patterns().stream().anyMatch(pattern -> Regex.simpleMatch(pattern, indexName));
    if (matched) {
      matchedTemplates.add(template);
    }
  }
  CollectionUtil.timSort(matchedTemplates, Comparator.comparingInt(IndexTemplateMetaData::order).reversed());
  return matchedTemplates;
}

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

@Override
  protected void masterOperation(GetIndexTemplatesRequest request, ClusterState state,
                  ActionListener<GetIndexTemplatesResponse> listener) {
    List<IndexTemplateMetaData> results;

    // If we did not ask for a specific name, then we return all templates
    if (request.names().length == 0) {
      results = Arrays.asList(state.metaData().templates().values().toArray(IndexTemplateMetaData.class));
    } else {
      results = new ArrayList<>();
    }

    for (String name : request.names()) {
      if (Regex.isSimpleMatchPattern(name)) {
        for (ObjectObjectCursor<String, IndexTemplateMetaData> entry : state.metaData().templates()) {
          if (Regex.simpleMatch(name, entry.key)) {
            results.add(entry.value);
          }
        }
      } else if (state.metaData().templates().containsKey(name)) {
        results.add(state.metaData().templates().get(name));
      }
    }

    listener.onResponse(new GetIndexTemplatesResponse(results));
  }
}

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

public static boolean isGlobalStateEquals(MetaData metaData1, MetaData metaData2) {
  if (!metaData1.persistentSettings.equals(metaData2.persistentSettings)) {
    return false;
  }
  if (!metaData1.templates.equals(metaData2.templates())) {
    return false;
  }
  // Check if any persistent metadata needs to be saved
  int customCount1 = 0;
  for (ObjectObjectCursor<String, Custom> cursor : metaData1.customs) {
    if (cursor.value.context().contains(XContentContext.GATEWAY)) {
      if (!cursor.value.equals(metaData2.custom(cursor.key))) return false;
      customCount1++;
    }
  }
  int customCount2 = 0;
  for (ObjectCursor<Custom> cursor : metaData2.customs.values()) {
    if (cursor.value.context().contains(XContentContext.GATEWAY)) {
      customCount2++;
    }
  }
  if (customCount1 != customCount2) return false;
  return true;
}

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

for (ObjectCursor<IndexTemplateMetaData> cursor : metaData.templates().values()) {
  IndexTemplateMetaData.Builder.toXContent(cursor.value, builder, params);

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

@Override
public ClusterState execute(ClusterState currentState) {
  Set<String> templateNames = new HashSet<>();
  for (ObjectCursor<String> cursor : currentState.metaData().templates().keys()) {
    String templateName = cursor.value;
    if (Regex.simpleMatch(request.name, templateName)) {
      templateNames.add(templateName);
    }
  }
  if (templateNames.isEmpty()) {
    // if its a match all pattern, and no templates are found (we have none), don't
    // fail with index missing...
    if (Regex.isMatchAllPattern(request.name)) {
      return currentState;
    }
    throw new IndexTemplateMissingException(request.name);
  }
  MetaData.Builder metaData = MetaData.builder(currentState.metaData());
  for (String templateName : templateNames) {
    logger.info("removing template [{}]", templateName);
    metaData.removeTemplate(templateName);
  }
  return ClusterState.builder(currentState).metaData(metaData).build();
}

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

builder.field("cluster_uuid", metaData().clusterUUID());
builder.startObject("templates");
for (ObjectCursor<IndexTemplateMetaData> cursor : metaData().templates().values()) {
  IndexTemplateMetaData templateMetaData = cursor.value;
  builder.startObject(templateMetaData.name());

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

@Override
public ClusterState execute(ClusterState currentState) throws Exception {
  if (request.create && currentState.metaData().templates().containsKey(request.name)) {
    throw new IllegalArgumentException("index_template [" + request.name + "] already exists");
  }
  validateAndAddTemplate(request, templateBuilder, indicesService, xContentRegistry);
  for (Alias alias : request.aliases) {
    AliasMetaData aliasMetaData = AliasMetaData.builder(alias.name()).filter(alias.filter())
      .indexRouting(alias.indexRouting()).searchRouting(alias.searchRouting()).build();
    templateBuilder.putAlias(aliasMetaData);
  }
  IndexTemplateMetaData template = templateBuilder.build();
  MetaData.Builder builder = MetaData.builder(currentState.metaData()).put(template);
  logger.info("adding template [{}] for index patterns {}", request.name, request.indexPatterns);
  return ClusterState.builder(currentState).metaData(builder).build();
}

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

private Table buildTable(RestRequest request, ClusterStateResponse clusterStateResponse, String patternString) {
    Table table = getTableWithHeader(request);
    MetaData metadata = clusterStateResponse.getState().metaData();
    for (ObjectObjectCursor<String, IndexTemplateMetaData> entry : metadata.templates()) {
      IndexTemplateMetaData indexData = entry.value;
      if (patternString == null || Regex.simpleMatch(patternString, indexData.name())) {
        table.startRow();
        table.addCell(indexData.name());
        table.addCell("[" + String.join(", ", indexData.patterns()) + "]");
        table.addCell(indexData.getOrder());
        table.addCell(indexData.getVersion());
        table.endRow();
      }
    }
    return table;
  }
}

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

mdBuilder.persistentSettings(settings);
if (metaData.templates() != null) {
  for (ObjectCursor<IndexTemplateMetaData> cursor : metaData.templates().values()) {
    mdBuilder.put(cursor.value);

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

/**
 * Finds index templates whose index pattern matched with the given index name.
 * The result is sorted by {@link IndexTemplateMetaData#order} descending.
 */
public static List<IndexTemplateMetaData> findTemplates(MetaData metaData, String indexName) {
  final List<IndexTemplateMetaData> matchedTemplates = new ArrayList<>();
  for (ObjectCursor<IndexTemplateMetaData> cursor : metaData.templates().values()) {
    final IndexTemplateMetaData template = cursor.value;
    final boolean matched = template.patterns().stream().anyMatch(pattern -> Regex.simpleMatch(pattern, indexName));
    if (matched) {
      matchedTemplates.add(template);
    }
  }
  CollectionUtil.timSort(matchedTemplates, Comparator.comparingInt(IndexTemplateMetaData::order).reversed());
  return matchedTemplates;
}

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

/**
 * Finds index templates whose index pattern matched with the given index name.
 * The result is sorted by {@link IndexTemplateMetaData#order} descending.
 */
public static List<IndexTemplateMetaData> findTemplates(MetaData metaData, String indexName) {
  final List<IndexTemplateMetaData> matchedTemplates = new ArrayList<>();
  for (ObjectCursor<IndexTemplateMetaData> cursor : metaData.templates().values()) {
    final IndexTemplateMetaData template = cursor.value;
    final boolean matched = template.patterns().stream().anyMatch(pattern -> Regex.simpleMatch(pattern, indexName));
    if (matched) {
      matchedTemplates.add(template);
    }
  }
  CollectionUtil.timSort(matchedTemplates, Comparator.comparingInt(IndexTemplateMetaData::order).reversed());
  return matchedTemplates;
}

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

private List<IndexTemplateMetaData> findTemplates(CreateIndexClusterStateUpdateRequest request, ClusterState state) throws IOException {
  List<IndexTemplateMetaData> templates = new ArrayList<>();
  for (ObjectCursor<IndexTemplateMetaData> cursor : state.metaData().templates().values()) {
    IndexTemplateMetaData template = cursor.value;
    if (Regex.simpleMatch(template.template(), request.index())) {
      templates.add(template);
    }
  }
  CollectionUtil.timSort(templates, Comparator.comparingInt(IndexTemplateMetaData::order).reversed());
  return templates;
}

代码示例来源:origin: harbby/presto-connectors

private List<IndexTemplateMetaData> findTemplates(CreateIndexClusterStateUpdateRequest request, ClusterState state, IndexTemplateFilter indexTemplateFilter) throws IOException {
  List<IndexTemplateMetaData> templates = new ArrayList<>();
  for (ObjectCursor<IndexTemplateMetaData> cursor : state.metaData().templates().values()) {
    IndexTemplateMetaData template = cursor.value;
    if (indexTemplateFilter.apply(request, template)) {
      templates.add(template);
    }
  }
  CollectionUtil.timSort(templates, new Comparator<IndexTemplateMetaData>() {
    @Override
    public int compare(IndexTemplateMetaData o1, IndexTemplateMetaData o2) {
      return o2.order() - o1.order();
    }
  });
  return templates;
}

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

@Override
public ClusterState execute(ClusterState currentState) throws Exception {
  if (request.create && currentState.metaData().templates().containsKey(request.name)) {
    throw new IllegalArgumentException("index_template [" + request.name + "] already exists");
  }
  validateAndAddTemplate(request, templateBuilder, indicesService, xContentRegistry);
  for (Alias alias : request.aliases) {
    AliasMetaData aliasMetaData = AliasMetaData.builder(alias.name()).filter(alias.filter())
      .indexRouting(alias.indexRouting()).searchRouting(alias.searchRouting()).build();
    templateBuilder.putAlias(aliasMetaData);
  }
  for (Map.Entry<String, IndexMetaData.Custom> entry : request.customs.entrySet()) {
    templateBuilder.putCustom(entry.getKey(), entry.getValue());
  }
  IndexTemplateMetaData template = templateBuilder.build();
  MetaData.Builder builder = MetaData.builder(currentState.metaData()).put(template);
  return ClusterState.builder(currentState).metaData(builder).build();
}

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

@Override
public ClusterState execute(ClusterState currentState) throws Exception {
  if (request.create && currentState.metaData().templates().containsKey(request.name)) {
    throw new IllegalArgumentException("index_template [" + request.name + "] already exists");
  }
  validateAndAddTemplate(request, templateBuilder, indicesService, xContentRegistry);
  for (Alias alias : request.aliases) {
    AliasMetaData aliasMetaData = AliasMetaData.builder(alias.name()).filter(alias.filter())
      .indexRouting(alias.indexRouting()).searchRouting(alias.searchRouting()).build();
    templateBuilder.putAlias(aliasMetaData);
  }
  IndexTemplateMetaData template = templateBuilder.build();
  MetaData.Builder builder = MetaData.builder(currentState.metaData()).put(template);
  logger.info("adding template [{}] for index patterns {}", request.name, request.indexPatterns);
  return ClusterState.builder(currentState).metaData(builder).build();
}

代码示例来源:origin: harbby/presto-connectors

@Override
public ClusterState execute(ClusterState currentState) throws Exception {
  if (request.create && currentState.metaData().templates().containsKey(request.name)) {
    throw new IndexTemplateAlreadyExistsException(request.name);
  }
  validateAndAddTemplate(request, templateBuilder, indicesService, metaDataCreateIndexService);
  for (Alias alias : request.aliases) {
    AliasMetaData aliasMetaData = AliasMetaData.builder(alias.name()).filter(alias.filter())
      .indexRouting(alias.indexRouting()).searchRouting(alias.searchRouting()).build();
    templateBuilder.putAlias(aliasMetaData);
  }
  for (Map.Entry<String, IndexMetaData.Custom> entry : request.customs.entrySet()) {
    templateBuilder.putCustom(entry.getKey(), entry.getValue());
  }
  IndexTemplateMetaData template = templateBuilder.build();
  MetaData.Builder builder = MetaData.builder(currentState.metaData()).put(template);
  return ClusterState.builder(currentState).metaData(builder).build();
}

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

private Table buildTable(RestRequest request, ClusterStateResponse clusterStateResponse, String patternString) {
    Table table = getTableWithHeader(request);
    MetaData metadata = clusterStateResponse.getState().metaData();
    for (ObjectObjectCursor<String, IndexTemplateMetaData> entry : metadata.templates()) {
      IndexTemplateMetaData indexData = entry.value;
      if (patternString == null || Regex.simpleMatch(patternString, indexData.name())) {
        table.startRow();
        table.addCell(indexData.name());
        table.addCell("[" + String.join(", ", indexData.patterns()) + "]");
        table.addCell(indexData.getOrder());
        table.addCell(indexData.getVersion());
        table.endRow();
      }
    }
    return table;
  }
}

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

private Table buildTable(RestRequest request, ClusterStateResponse clusterStateResponse, String patternString) {
    Table table = getTableWithHeader(request);
    MetaData metadata = clusterStateResponse.getState().metaData();
    for (ObjectObjectCursor<String, IndexTemplateMetaData> entry : metadata.templates()) {
      IndexTemplateMetaData indexData = entry.value;
      if (patternString == null || Regex.simpleMatch(patternString, indexData.name())) {
        table.startRow();
        table.addCell(indexData.name());
        table.addCell("[" + String.join(", ", indexData.patterns()) + "]");
        table.addCell(indexData.getOrder());
        table.addCell(indexData.getVersion());
        table.endRow();
      }
    }
    return table;
  }
}

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

@Override
public ClusterState execute(ClusterState currentState) throws Exception {
  if (request.create && currentState.metaData().templates().containsKey(request.name)) {
    throw new IllegalArgumentException("index_template [" + request.name + "] already exists");
  }
  validateAndAddTemplate(request, templateBuilder, indicesService, xContentRegistry);
  for (Alias alias : request.aliases) {
    AliasMetaData aliasMetaData = AliasMetaData.builder(alias.name()).filter(alias.filter())
      .indexRouting(alias.indexRouting()).searchRouting(alias.searchRouting()).build();
    templateBuilder.putAlias(aliasMetaData);
  }
  for (Map.Entry<String, IndexMetaData.Custom> entry : request.customs.entrySet()) {
    templateBuilder.putCustom(entry.getKey(), entry.getValue());
  }
  IndexTemplateMetaData template = templateBuilder.build();
  MetaData.Builder builder = MetaData.builder(currentState.metaData()).put(template);
  logger.info("adding template [{}] for index patterns {}", request.name, request.indexPatterns);
  return ClusterState.builder(currentState).metaData(builder).build();
}

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

private Table buildTable(RestRequest request, ClusterStateResponse clusterStateResponse, String patternString) {
    Table table = getTableWithHeader(request);
    MetaData metadata = clusterStateResponse.getState().metaData();
    for (ObjectObjectCursor<String, IndexTemplateMetaData> entry : metadata.templates()) {
      IndexTemplateMetaData indexData = entry.value;
      if (patternString == null || Regex.simpleMatch(patternString, indexData.name())) {
        table.startRow();
        table.addCell(indexData.name());
        table.addCell(indexData.getTemplate());
        table.addCell(indexData.getOrder());
        table.addCell(indexData.getVersion());
        table.endRow();
      }
    }
    return table;
  }
}

相关文章

微信公众号

最新文章

更多