Collection getIndicesFromAliasName()

in src/main/groovy/com/epam/esp/elasticsearch/ElasticSearchHelper.groovy [242:258]


    Collection<String> getIndicesFromAliasName(String aliasName, String indexName, Comparator<String> comparator) {
        IndicesAdminClient iac = client.admin().indices();
        GetAliasesResponse aliasResponse = iac.prepareGetAliases(aliasName).get()
        ImmutableOpenMap<String, List<AliasMetadata>> map = aliasResponse.getAliases();
        final Set<String> allIndices = new HashSet<>();

        def iterator = map.iterator()

        while (iterator.hasNext()) {
            def item = iterator.next()
            if (item.value != null && !item.value.isEmpty() || comparator != null && comparator.compare(item.key, indexName) < 0) {
                allIndices.add(item.key)
            }
        }

        return allIndices;
    }