@Override protected XContentBuilder toXContent(ClusterStateRequest request, ClusterStateResponse response, XContentBuilder builder) throws IOException { MetaData metaData = response.getState().metaData(); builder.startObject(); for (IndexMetaData indexMetaData : metaData) { builder.startObject(indexMetaData.index(), XContentBuilder.FieldCaseConversion.NONE); builder.startObject("aliases"); for (AliasMetaData alias : indexMetaData.aliases().values()) { AliasMetaData.Builder.toXContent(alias, builder, ToXContent.EMPTY_PARAMS); } builder.endObject(); builder.endObject(); } builder.endObject(); return builder; } }
@Override protected XContentBuilder toXContent(ClusterStateRequest request, ClusterStateResponse response, XContentBuilder builder) throws IOException { MetaData metaData = response.getState().metaData(); if (metaData.indices().isEmpty()) { return builder.startObject().endObject(); } builder.startObject(); for (IndexMetaData indexMetaData : metaData) { builder.startObject(indexMetaData.index(), XContentBuilder.FieldCaseConversion.NONE); builder.startObject("settings"); for (Map.Entry<String, String> entry : indexMetaData.settings().getAsMap().entrySet()) { builder.field(entry.getKey(), entry.getValue()); } builder.endObject(); builder.endObject(); } builder.endObject(); return builder; } }
builder.startObject(indexMetaData.index(), XContentBuilder.FieldCaseConversion.NONE); builder.startObject(IndexWarmersMetaData.TYPE, XContentBuilder.FieldCaseConversion.NONE); for (IndexWarmersMetaData.Entry entry : warmers.entries()) {
XContentBuilder builder = XContentFactory.contentBuilder(XContentType.JSON); builder.startObject(); builder.startObject(indexMetaData.index(), XContentBuilder.FieldCaseConversion.NONE); builder.startObject("settings"); Settings settings = settingsFilter.filterSettings(indexMetaData.settings()); os.close(); } catch (IOException e) { throw new ExportException(context, "Failed to write settings for index " + indexMetaData.index(), e); XContentBuilder builder = XContentFactory.contentBuilder(XContentType.JSON); builder.startObject(); builder.startObject(indexMetaData.index(), XContentBuilder.FieldCaseConversion.NONE); Set<String> types = new HashSet<String>(Arrays.asList(context.types())); boolean noTypes = types.isEmpty(); os.close(); } catch (IOException e) { throw new ExportException(context, "Failed to write mappings for index " + indexMetaData.index(), e);
/** * Retrieves the current indexes and types from elasticsearch * @return a set containing the indexes available in the elasticsearch cluster and their types */ protected Set<Index> getIndexes() { ClusterStateResponse response = unwrapShellNativeClient().client().admin().cluster().prepareState().setFilterBlocks(true) .setFilterRoutingTable(true).setFilterNodes(true).execute().actionGet(); Set<Index> newIndexes = new HashSet<Index>(); for (IndexMetaData indexMetaData : response.getState().metaData().indices().values()) { logger.trace("Processing index {}", indexMetaData.index()); Set<String> typeNames = Sets.filter(indexMetaData.mappings().keySet(), new Predicate<String>() { @Override public boolean apply(String s) { return !MapperService.DEFAULT_MAPPING.equals(s); } }); String[] types = typeNames.toArray(new String[typeNames.size()]); newIndexes.add(new Index(indexMetaData.index(), false, types)); for (String alias : indexMetaData.aliases().keySet()) { newIndexes.add(new Index(alias, true, types)); } } return newIndexes; }
builder.startObject(indexMetaData.index(), XContentBuilder.FieldCaseConversion.NONE);
public JsonOutput availableIndices(String... indices) throws Exception { ClusterStateResponse response = this.client.admin().cluster().state(new ClusterStateRequest() .filterBlocks(true).filterNodes(true).filteredIndices(indices) .filterRoutingTable(true)).actionGet(); XContentBuilder builder = JsonXContent.contentBuilder(); builder.startObject(); for (IndexMetaData indexMetaData : response.getState().metaData()) { builder.startObject(indexMetaData.index()); if (indexMetaData.aliases() != null && indexMetaData.aliases().size() > 0) { builder.startArray("aliases"); for (String alias : indexMetaData.aliases().keySet()) { builder.value(alias); } builder.endArray(); } if (indexMetaData.mappings() != null && indexMetaData.mappings().size() > 0) { builder.startArray("types"); for (String alias : indexMetaData.mappings().keySet()) { builder.value(alias); } builder.endArray(); } builder.endObject(); } builder.endObject(); return stringToJson.stringToJson(builder.string()); }
IndexMetaData currentIndexMetaData = currentState.metaData().index(indexMetaData.index()); if (currentIndexMetaData == null || currentIndexMetaData.version() != indexMetaData.version()) { metaDataBuilder.put(indexMetaData, false);
IndexMetaData currentIndexMetaData = currentState.metaData().index(indexMetaData.index()); if (currentIndexMetaData == null || currentIndexMetaData.version() != indexMetaData.version()) { metaDataBuilder.put(indexMetaData, false);
IndexMetaData currentIndexMetaData = currentState.metaData().index(indexMetaData.index()); if (currentIndexMetaData == null || currentIndexMetaData.version() != indexMetaData.version()) { metaDataBuilder.put(indexMetaData, false);
@Override public ClusterState execute(ClusterState currentState) { latestDiscoNodes = newState.nodes(); ClusterState.Builder builder = ClusterState.builder().state(newState); // if the routing table did not change, use the original one if (newState.routingTable().version() == currentState.routingTable().version()) { builder.routingTable(currentState.routingTable()); } // same for metadata if (newState.metaData().version() == currentState.metaData().version()) { builder.metaData(currentState.metaData()); } else { // if its not the same version, only copy over new indices or ones that changed the version MetaData.Builder metaDataBuilder = MetaData.builder().metaData(newState.metaData()).removeAllIndices(); for (IndexMetaData indexMetaData : newState.metaData()) { IndexMetaData currentIndexMetaData = currentState.metaData().index(indexMetaData.index()); if (currentIndexMetaData == null || currentIndexMetaData.version() != indexMetaData.version()) { metaDataBuilder.put(indexMetaData, false); } else { metaDataBuilder.put(currentIndexMetaData, false); } } builder.metaData(metaDataBuilder); } return builder.build(); }