org.elasticsearch.cluster.metadata.AliasMetaData类的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(9.7k)|赞(0)|评价(0)|浏览(418)

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

AliasMetaData介绍

暂无

代码示例

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

public Builder(AliasMetaData aliasMetaData) {
  this(aliasMetaData.alias());
  filter = aliasMetaData.filter();
  indexRouting = aliasMetaData.indexRouting();
  searchRouting = aliasMetaData.searchRouting();
  writeIndex = aliasMetaData.writeIndex();
}

代码示例来源:origin: spring-projects/spring-data-elasticsearch

/**
 * It takes two steps to create a List<AliasMetadata> from the elasticsearch http response because the aliases field
 * is actually a Map by alias name, but the alias name is on the AliasMetadata.
 * 
 * @param aliasResponse
 * @return
 */
List<AliasMetaData> convertAliasResponse(String aliasResponse) {
  ObjectMapper mapper = new ObjectMapper();
  try {
    JsonNode node = mapper.readTree(aliasResponse);
    Iterator<String> names = node.fieldNames();
    String name = names.next();
    node = node.findValue("aliases");
    Map<String, AliasData> aliasData = mapper.readValue(mapper.writeValueAsString(node),
        new TypeReference<Map<String, AliasData>>() {});
    Iterable<Map.Entry<String, AliasData>> aliasIter = aliasData.entrySet();
    List<AliasMetaData> aliasMetaDataList = new ArrayList<AliasMetaData>();
    for (Map.Entry<String, AliasData> aliasentry : aliasIter) {
      AliasData data = aliasentry.getValue();
      aliasMetaDataList.add(AliasMetaData.newAliasMetaDataBuilder(aliasentry.getKey()).filter(data.getFilter())
          .routing(data.getRouting()).searchRouting(data.getSearch_routing()).indexRouting(data.getIndex_routing())
          .build());
    }
    return aliasMetaDataList;
  } catch (IOException e) {
    throw new ElasticsearchException("Could not map alias response : " + aliasResponse, e);
  }
}

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

private Table buildTable(RestRequest request, GetAliasesResponse response) {
  Table table = getTableWithHeader(request);
  for (ObjectObjectCursor<String, List<AliasMetaData>> cursor : response.getAliases()) {
    String indexName = cursor.key;
    for (AliasMetaData aliasMetaData : cursor.value) {
      table.startRow();
      table.addCell(aliasMetaData.alias());
      table.addCell(indexName);
      table.addCell(aliasMetaData.filteringRequired() ? "*" : "-");
      String indexRouting = Strings.hasLength(aliasMetaData.indexRouting()) ? aliasMetaData.indexRouting() : "-";
      table.addCell(indexRouting);
      String searchRouting = Strings.hasLength(aliasMetaData.searchRouting()) ? aliasMetaData.searchRouting() : "-";
      table.addCell(searchRouting);
      table.endRow();
    }
  }
  return table;
}

代码示例来源:origin: floragunncom/search-guard

final AliasMetaData aliasMetaData = aliases.get(alias);
if(aliasMetaData != null && aliasMetaData.filteringRequired()) {
  filteredAliases.add(aliasMetaData);
  if(log.isDebugEnabled()) {
    log.debug(alias+" is a filtered alias "+aliasMetaData.getFilter());

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

/**
 * Allows to validate an {@link org.elasticsearch.cluster.metadata.AliasMetaData} and make sure
 * it's valid before it gets added to the index metadata. Doesn't validate the alias filter.
 * @throws IllegalArgumentException if the alias is not valid
 */
public void validateAliasMetaData(AliasMetaData aliasMetaData, String index, MetaData metaData) {
  validateAlias(aliasMetaData.alias(), index, aliasMetaData.indexRouting(), metaData::index);
}

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

if (request.aliases().contains(new Alias(aliasMetaData.alias()))) {
      continue;
    if (aliasMetaData.alias().contains("{index}")) {
      String templatedAlias = aliasMetaData.alias().replace("{index}", request.index());
      aliasMetaData = AliasMetaData.newAliasMetaData(aliasMetaData, templatedAlias);
    templatesAliases.put(aliasMetaData.alias(), aliasMetaData);
if (aliasMetaData.filter() != null) {
  aliasValidator.validateAliasFilter(aliasMetaData.alias(), aliasMetaData.filter().uncompressed(),
    queryShardContext, xContentRegistry);
AliasMetaData aliasMetaData = AliasMetaData.builder(alias.name()).filter(alias.filter())
  .indexRouting(alias.indexRouting()).searchRouting(alias.searchRouting()).writeIndex(alias.writeIndex()).build();
indexMetaDataBuilder.putAlias(aliasMetaData);

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

@Override
  boolean apply(NewAliasValidator aliasValidator, MetaData.Builder metadata, IndexMetaData index) {
    aliasValidator.validate(alias, indexRouting, filter, writeIndex);
    AliasMetaData newAliasMd = AliasMetaData.newAliasMetaDataBuilder(alias).filter(filter).indexRouting(indexRouting)
        .searchRouting(searchRouting).writeIndex(writeIndex).build();
    // Check if this alias already exists
    AliasMetaData currentAliasMd = index.getAliases().get(alias);
    if (currentAliasMd != null && currentAliasMd.equals(newAliasMd)) {
      // It already exists, ignore it
      return false;
    }
    metadata.put(IndexMetaData.builder(index).putAlias(newAliasMd));
    return true;
  }
}

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

ImmutableOpenMap<String, AliasMetaData> aliases = metaData.getAliases();
Function<AliasMetaData, QueryBuilder> parserFunction = (alias) -> {
  if (alias.filter() == null) {
    return null;
    return filterParser.apply(alias.filter().uncompressed());
  } catch (IOException ex) {
    throw new AliasFilterParsingException(index, alias.getAlias(), "Invalid alias filter", ex);

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

if (aliasMd.indexRouting() != null) {
  if (aliasMd.indexRouting().indexOf(',') != -1) {
    throw new IllegalArgumentException("index/alias [" + aliasOrIndex + "] provided with routing value [" +
      aliasMd.getIndexRouting() + "] that resolved to several routing values, rejecting operation");
    if (!routing.equals(aliasMd.indexRouting())) {
      throw new IllegalArgumentException("Alias [" + aliasOrIndex + "] has index routing associated with it [" +
        aliasMd.indexRouting() + "], and was provided with routing value [" + routing + "], rejecting operation");
  return aliasMd.indexRouting();

代码示例来源:origin: floragunncom/search-guard

private List<String> toString(List<AliasMetaData> aliases) {
    if(aliases == null || aliases.size() == 0) {
      return Collections.emptyList();
    }

    final List<String> ret = new ArrayList<>(aliases.size());

    for(final AliasMetaData amd: aliases) {
      if(amd != null) {
        ret.add(amd.alias());
      }
    }

    return Collections.unmodifiableList(ret);
  }
}

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

private AliasMetaData(AliasMetaData aliasMetaData, String alias) {
  this(alias, aliasMetaData.filter(), aliasMetaData.indexRouting(), aliasMetaData.searchRouting());
}

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

/**
 * Creates a new AliasMetaData instance with same content as the given one, but with a different alias name
 */
public static AliasMetaData newAliasMetaData(AliasMetaData aliasMetaData, String newAlias) {
  return new AliasMetaData(aliasMetaData, newAlias);
}

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

public Alias(AliasMetaData aliasMetaData, IndexMetaData indexMetaData) {
  this.aliasName = aliasMetaData.getAlias();
  this.referenceIndexMetaDatas = new ArrayList<>();
  this.referenceIndexMetaDatas.add(indexMetaData);
}

代码示例来源:origin: jprante/elasticsearch-skywalker

builder.startObject();
AliasMetaData amd = aliases.get(alias.value).get(s.value);
builder.field("alias", amd.getAlias());
builder.field("filter", amd.getFilter().string());
builder.field("indexRouting", amd.getIndexRouting());
builder.field("searchRouting", amd.getSearchRouting());
builder.endObject();

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

public CompressedXContent getFilter() {
  return filter();
}

代码示例来源: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: harbby/presto-connectors

boolean filteringRequired = aliasMetaData != null && aliasMetaData.filteringRequired();
if (!filteringRequired) {
  return null;
  boolean filteringRequired = aliasMetaData.filteringRequired();
  if (filteringRequired) {

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

public String getIndexRouting() {
  return indexRouting();
}

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

if (request.aliases().contains(new Alias(aliasMetaData.alias()))) {
        continue;
      if (aliasMetaData.alias().contains("{index}")) {
        String templatedAlias = aliasMetaData.alias().replace("{index}", request.index());
        aliasMetaData = AliasMetaData.newAliasMetaData(aliasMetaData, templatedAlias);
  if (Strings.hasLength(alias.filter())) {
    aliasValidator.validateAliasFilter(alias.name(), alias.filter(), queryShardContext, xContentRegistry);
final IndexMetaData.Builder indexMetaDataBuilder = IndexMetaData.builder(request.index())
  .settings(actualIndexSettings)
  .setRoutingNumShards(routingNumShards);

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

/**
 * Allows to validate an {@link org.elasticsearch.cluster.metadata.AliasMetaData} and make sure
 * it's valid before it gets added to the index metadata. Doesn't validate the alias filter.
 * @throws IllegalArgumentException if the alias is not valid
 */
public void validateAliasMetaData(AliasMetaData aliasMetaData, String index, MetaData metaData) {
  validateAlias(aliasMetaData.alias(), index, aliasMetaData.indexRouting(), metaData::index);
}

相关文章