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

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

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

MetaData.getAliasAndIndexLookup介绍

暂无

代码示例

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

private String[] getResolvedIndexPattern(User user, IndexNameExpressionResolver resolver, ClusterService cs) {
  String unresolved = getUnresolvedIndexPattern(user);
  String[] resolved = null;
  if(WildcardMatcher.containsWildcard(unresolved)) {
    final String[] aliasesForPermittedPattern = cs.state().getMetaData().getAliasAndIndexLookup()        
        .entrySet().stream()
        .filter(e->e.getValue().isAlias())
        .filter(e->WildcardMatcher.match(unresolved, e.getKey()))
        .map(e->e.getKey()).toArray(String[]::new);
    
    if(aliasesForPermittedPattern != null && aliasesForPermittedPattern.length > 0) {
      resolved = resolver.concreteIndexNames(cs.state(), IndicesOptions.lenientExpandOpen(), aliasesForPermittedPattern);
    }
  }
  
  if(resolved == null && !unresolved.isEmpty()) {
    resolved = resolver.concreteIndexNames(cs.state(), IndicesOptions.lenientExpandOpen(), unresolved);
  }
  if(resolved == null || resolved.length == 0) {
    return new String[]{unresolved};
  } else {
    //append unresolved value for pattern matching
    String[] retval = Arrays.copyOf(resolved, resolved.length +1);
    retval[retval.length-1] = unresolved;
    return retval;
  }
}

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

final SortedMap<String, AliasOrIndex> lookup = state.metaData().getAliasAndIndexLookup();
final Set<String> aliases = lookup.entrySet().stream().filter(e->e.getValue().isAlias()).map(e->e.getKey()).collect(Collectors.toSet());

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

final SortedMap<String, AliasOrIndex> lookup = clusterService.state().metaData().getAliasAndIndexLookup();
for(final String indexOrAlias: lookup.keySet()) {
  final String tenant = tenantNameForIndex(indexOrAlias);

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

public boolean hasConcreteIndex(String index) {
  return getAliasAndIndexLookup().containsKey(index);
}

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

public boolean hasAlias(String alias) {
  AliasOrIndex aliasOrIndex = getAliasAndIndexLookup().get(alias);
  if (aliasOrIndex != null) {
    return aliasOrIndex.isAlias();
  } else {
    return false;
  }
}

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

private static Map<String, AliasOrIndex> suffixWildcard(Context context, MetaData metaData, String expression) {
  assert expression.length() >= 2 : "expression [" + expression + "] should have at least a length of 2";
  String fromPrefix = expression.substring(0, expression.length() - 1);
  char[] toPrefixCharArr = fromPrefix.toCharArray();
  toPrefixCharArr[toPrefixCharArr.length - 1]++;
  String toPrefix = new String(toPrefixCharArr);
  SortedMap<String,AliasOrIndex> subMap = metaData.getAliasAndIndexLookup().subMap(fromPrefix, toPrefix);
  if (context.getOptions().ignoreAliases()) {
     return subMap.entrySet().stream()
        .filter(entry -> entry.getValue().isAlias() == false)
        .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
  }
  return subMap;
}

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

private static Map<String, AliasOrIndex> otherWildcard(Context context, MetaData metaData, String expression) {
  final String pattern = expression;
  return metaData.getAliasAndIndexLookup()
    .entrySet()
    .stream()
    .filter(e -> context.getOptions().ignoreAliases() == false || e.getValue().isAlias() == false)
    .filter(e -> Regex.simpleMatch(pattern, e.getKey()))
    .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
}

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

private static boolean aliasOrIndexExists(IndicesOptions options, MetaData metaData, String expression) {
  AliasOrIndex aliasOrIndex = metaData.getAliasAndIndexLookup().get(expression);
  //treat aliases as unavailable indices when ignoreAliases is set to true (e.g. delete index and update aliases api)
  return aliasOrIndex != null && (options.ignoreAliases() == false || aliasOrIndex.isAlias() == false);
}

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

static void validate(MetaData metaData, RolloverRequest request) {
  final AliasOrIndex aliasOrIndex = metaData.getAliasAndIndexLookup().get(request.getAlias());
  if (aliasOrIndex == null) {
    throw new IllegalArgumentException("source alias does not exist");
  }
  if (aliasOrIndex.isAlias() == false) {
    throw new IllegalArgumentException("source alias is a concrete index");
  }
  final AliasOrIndex.Alias alias = (AliasOrIndex.Alias) aliasOrIndex;
  if (alias.getWriteIndex() == null) {
    throw new IllegalArgumentException("source alias [" + alias.getAliasName() + "] does not point to a write index");
  }
}

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

public static Map<String, AliasOrIndex> matches(Context context, MetaData metaData, String expression) {
  if (Regex.isMatchAllPattern(expression)) {
    // Can only happen if the expressions was initially: '-*'
    if (context.getOptions().ignoreAliases()) {
      return metaData.getAliasAndIndexLookup().entrySet().stream()
          .filter(e -> e.getValue().isAlias() == false)
          .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
    } else {
      return metaData.getAliasAndIndexLookup();
    }
  } else if (expression.indexOf("*") == expression.length() - 1) {
    return suffixWildcard(context, metaData, expression);
  } else {
    return otherWildcard(context, metaData, expression);
  }
}

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

/**
 * @return whether the specified alias or index exists. If the alias or index contains datemath then that is resolved too.
 */
public boolean hasIndexOrAlias(String aliasOrIndex, ClusterState state) {
  Context context = new Context(state, IndicesOptions.lenientExpandOpen());
  String resolvedAliasOrIndex = dateMathExpressionResolver.resolveExpression(aliasOrIndex, context);
  return state.metaData().getAliasAndIndexLookup().containsKey(resolvedAliasOrIndex);
}

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

AliasOrIndex aliasOrIndex = state.metaData().getAliasAndIndexLookup().get(expression);
if (aliasOrIndex != null && aliasOrIndex.isAlias()) {
  AliasOrIndex.Alias alias = (AliasOrIndex.Alias) aliasOrIndex;

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

AliasOrIndex aliasOrIndex = metaData.getAliasAndIndexLookup().get(expression);
if (aliasOrIndex == null) {
  throw indexNotFoundException(expression);

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

AliasOrIndex result = getAliasAndIndexLookup().get(aliasOrIndex);
if (result == null || result.isAlias() == false) {
  return routingOrParent(parent, routing);

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

AliasOrIndex result = getAliasAndIndexLookup().get(aliasOrIndex);
if (result == null || result.isAlias() == false) {
  return routingOrParent(parent, routing);

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

AliasOrIndex aliasOrIndex = metaData.getAliasAndIndexLookup().get(expression);
if (aliasOrIndex == null ) {
  if (failNoIndices) {

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

if (indexMetaData == null && indexRequest.index() != null) {
  AliasOrIndex indexOrAlias = metaData.getAliasAndIndexLookup().get(indexRequest.index());
  if (indexOrAlias != null && indexOrAlias.isAlias()) {
    AliasOrIndex.Alias alias = (AliasOrIndex.Alias) indexOrAlias;

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

final MetaData metaData = state.metaData();
validate(metaData, rolloverRequest);
final AliasOrIndex.Alias alias = (AliasOrIndex.Alias) metaData.getAliasAndIndexLookup().get(rolloverRequest.getAlias());
final IndexMetaData indexMetaData = alias.getWriteIndex();
final boolean explicitWriteIndex = Boolean.TRUE.equals(indexMetaData.getAliases().get(alias.getAliasName()).writeIndex());

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

private static boolean aliasOrIndexExists(IndicesOptions options, MetaData metaData, String expression) {
  AliasOrIndex aliasOrIndex = metaData.getAliasAndIndexLookup().get(expression);
  //treat aliases as unavailable indices when ignoreAliases is set to true (e.g. delete index and update aliases api)
  return aliasOrIndex != null && (options.ignoreAliases() == false || aliasOrIndex.isAlias() == false);
}

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

/**
 * @return whether the specified alias or index exists. If the alias or index contains datemath then that is resolved too.
 */
public boolean hasIndexOrAlias(String aliasOrIndex, ClusterState state) {
  Context context = new Context(state, IndicesOptions.lenientExpandOpen());
  String resolvedAliasOrIndex = dateMathExpressionResolver.resolveExpression(aliasOrIndex, context);
  return state.metaData().getAliasAndIndexLookup().containsKey(resolvedAliasOrIndex);
}

相关文章

微信公众号

最新文章

更多