use of org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequest in project elasticsearch by elastic.
the class RestPutMappingAction method prepareRequest.
@Override
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
PutMappingRequest putMappingRequest = putMappingRequest(Strings.splitStringByCommaToArray(request.param("index")));
putMappingRequest.type(request.param("type"));
putMappingRequest.source(request.content(), request.getXContentType());
putMappingRequest.updateAllTypes(request.paramAsBoolean("update_all_types", false));
putMappingRequest.timeout(request.paramAsTime("timeout", putMappingRequest.timeout()));
putMappingRequest.masterNodeTimeout(request.paramAsTime("master_timeout", putMappingRequest.masterNodeTimeout()));
putMappingRequest.indicesOptions(IndicesOptions.fromRequest(request, putMappingRequest.indicesOptions()));
return channel -> client.admin().indices().putMapping(putMappingRequest, new AcknowledgedRestListener<>(channel));
}
use of org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequest in project crate by crate.
the class AlterTableOperation method updateMapping.
private CompletableFuture<Long> updateMapping(Map<String, Object> newMapping, String... indices) {
if (newMapping.isEmpty()) {
return CompletableFuture.completedFuture(null);
}
assert areAllMappingsEqual(clusterService.state().metaData(), indices) : "Trying to update mapping for indices with different existing mappings";
Map<String, Object> mapping;
try {
MetaData metaData = clusterService.state().metaData();
String index = indices[0];
mapping = metaData.index(index).mapping(Constants.DEFAULT_MAPPING_TYPE).getSourceAsMap();
} catch (IOException e) {
return CompletableFutures.failedFuture(e);
}
XContentHelper.update(mapping, newMapping, false);
// update mapping of all indices
PutMappingRequest request = new PutMappingRequest(indices);
request.indicesOptions(IndicesOptions.lenientExpandOpen());
request.type(Constants.DEFAULT_MAPPING_TYPE);
request.source(mapping);
FutureActionListener<PutMappingResponse, Long> listener = new FutureActionListener<>(LONG_NULL_FUNCTION);
transportActionProvider.transportPutMappingAction().execute(request, listener);
return listener;
}
use of org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequest in project sonarqube by SonarSource.
the class IndexCreator method createIndex.
private void createIndex(BuiltIndex<?> builtIndex, boolean useMetadata) {
Index index = builtIndex.getMainType().getIndex();
LOGGER.info(String.format("Create index [%s]", index.getName()));
Settings.Builder settings = Settings.builder();
settings.put(builtIndex.getSettings());
if (useMetadata) {
metadataIndex.setHash(index, IndexDefinitionHash.of(builtIndex));
metadataIndex.setInitialized(builtIndex.getMainType(), false);
builtIndex.getRelationTypes().forEach(relationType -> metadataIndex.setInitialized(relationType, false));
}
CreateIndexResponse indexResponse = client.create(new CreateIndexRequest(index.getName()).settings((settings)));
if (!indexResponse.isAcknowledged()) {
throw new IllegalStateException("Failed to create index [" + index.getName() + "]");
}
client.waitForStatus(ClusterHealthStatus.YELLOW);
// create types
LOGGER.info("Create type {}", builtIndex.getMainType().format());
AcknowledgedResponse mappingResponse = client.putMapping(new PutMappingRequest(builtIndex.getMainType().getIndex().getName()).type(builtIndex.getMainType().getType()).source(builtIndex.getAttributes()));
if (!mappingResponse.isAcknowledged()) {
throw new IllegalStateException("Failed to create type " + builtIndex.getMainType().getType());
}
client.waitForStatus(ClusterHealthStatus.YELLOW);
}
use of org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequest in project ranger by apache.
the class RequestUtils method getIndexFromRequest.
// To support all kinds of request in elasticsearch
public static <Request extends ActionRequest> List<String> getIndexFromRequest(Request request) {
List<String> indexs = new ArrayList<>();
if (request instanceof SingleShardRequest) {
indexs.add(((SingleShardRequest<?>) request).index());
return indexs;
}
if (request instanceof ReplicationRequest) {
indexs.add(((ReplicationRequest<?>) request).index());
return indexs;
}
if (request instanceof InstanceShardOperationRequest) {
indexs.add(((InstanceShardOperationRequest<?>) request).index());
return indexs;
}
if (request instanceof CreateIndexRequest) {
indexs.add(((CreateIndexRequest) request).index());
return indexs;
}
if (request instanceof PutMappingRequest) {
if (((PutMappingRequest) request).getConcreteIndex() != null) {
indexs.add(((PutMappingRequest) request).getConcreteIndex().getName());
return indexs;
} else {
return Arrays.asList(((PutMappingRequest) request).indices());
}
}
if (request instanceof SearchRequest) {
return Arrays.asList(((SearchRequest) request).indices());
}
if (request instanceof IndicesStatsRequest) {
return Arrays.asList(((IndicesStatsRequest) request).indices());
}
if (request instanceof OpenIndexRequest) {
return Arrays.asList(((OpenIndexRequest) request).indices());
}
if (request instanceof DeleteIndexRequest) {
return Arrays.asList(((DeleteIndexRequest) request).indices());
}
if (request instanceof BulkRequest) {
@SuppressWarnings("rawtypes") List<DocWriteRequest<?>> requests = ((BulkRequest) request).requests();
if (CollectionUtils.isNotEmpty(requests)) {
for (DocWriteRequest<?> docWriteRequest : requests) {
indexs.add(docWriteRequest.index());
}
return indexs;
}
}
if (request instanceof MultiGetRequest) {
List<Item> items = ((MultiGetRequest) request).getItems();
if (CollectionUtils.isNotEmpty(items)) {
for (Item item : items) {
indexs.add(item.index());
}
return indexs;
}
}
if (request instanceof GetMappingsRequest) {
return Arrays.asList(((GetMappingsRequest) request).indices());
}
if (request instanceof GetSettingsRequest) {
return Arrays.asList(((GetSettingsRequest) request).indices());
}
if (request instanceof IndicesExistsRequest) {
return Arrays.asList(((IndicesExistsRequest) request).indices());
}
if (request instanceof GetAliasesRequest) {
return Arrays.asList(((GetAliasesRequest) request).indices());
}
if (request instanceof GetIndexRequest) {
return Arrays.asList(((GetIndexRequest) request).indices());
}
if (request instanceof GetFieldMappingsRequest) {
return Arrays.asList(((GetFieldMappingsRequest) request).indices());
}
if (request instanceof TypesExistsRequest) {
return Arrays.asList(((TypesExistsRequest) request).indices());
}
if (request instanceof ValidateQueryRequest) {
return Arrays.asList(((ValidateQueryRequest) request).indices());
}
if (request instanceof RecoveryRequest) {
return Arrays.asList(((RecoveryRequest) request).indices());
}
if (request instanceof IndicesSegmentsRequest) {
return Arrays.asList(((IndicesSegmentsRequest) request).indices());
}
if (request instanceof IndicesShardStoresRequest) {
return Arrays.asList(((IndicesShardStoresRequest) request).indices());
}
if (request instanceof UpgradeStatusRequest) {
return Arrays.asList(((UpgradeStatusRequest) request).indices());
}
if (request instanceof ClusterSearchShardsRequest) {
return Arrays.asList(((ClusterSearchShardsRequest) request).indices());
}
if (request instanceof IndicesAliasesRequest) {
List<IndicesAliasesRequest.AliasActions> aliasActions = ((IndicesAliasesRequest) request).getAliasActions();
if (CollectionUtils.isNotEmpty(aliasActions)) {
for (IndicesAliasesRequest.AliasActions action : aliasActions) {
indexs.addAll(Arrays.asList(action.indices()));
}
return indexs;
}
}
if (request instanceof ClearIndicesCacheRequest) {
return Arrays.asList(((ClearIndicesCacheRequest) request).indices());
}
if (request instanceof CloseIndexRequest) {
return Arrays.asList(((CloseIndexRequest) request).indices());
}
if (request instanceof FlushRequest) {
return Arrays.asList(((FlushRequest) request).indices());
}
if (request instanceof SyncedFlushRequest) {
return Arrays.asList(((SyncedFlushRequest) request).indices());
}
if (request instanceof ForceMergeRequest) {
return Arrays.asList(((ForceMergeRequest) request).indices());
}
if (request instanceof RefreshRequest) {
return Arrays.asList(((RefreshRequest) request).indices());
}
if (request instanceof RolloverRequest) {
return Arrays.asList(((RolloverRequest) request).indices());
}
if (request instanceof UpdateSettingsRequest) {
return Arrays.asList(((UpdateSettingsRequest) request).indices());
}
if (request instanceof ResizeRequest) {
return Arrays.asList(((ResizeRequest) request).indices());
}
if (request instanceof DeleteIndexTemplateRequest) {
indexs.add(((DeleteIndexTemplateRequest) request).name());
return indexs;
}
if (request instanceof GetIndexTemplatesRequest) {
return Arrays.asList(((GetIndexTemplatesRequest) request).names());
}
if (request instanceof PutIndexTemplateRequest) {
indexs.add(((PutIndexTemplateRequest) request).name());
return indexs;
}
if (request instanceof UpgradeRequest) {
return Arrays.asList(((UpgradeRequest) request).indices());
}
if (request instanceof FieldCapabilitiesRequest) {
return Arrays.asList(((FieldCapabilitiesRequest) request).indices());
}
if (request instanceof MultiSearchRequest) {
List<SearchRequest> searchRequests = ((MultiSearchRequest) request).requests();
if (CollectionUtils.isNotEmpty(searchRequests)) {
for (SearchRequest singleRequest : searchRequests) {
indexs.addAll(Arrays.asList(singleRequest.indices()));
}
return indexs;
}
}
if (request instanceof MultiTermVectorsRequest) {
List<TermVectorsRequest> termVectorsRequests = ((MultiTermVectorsRequest) request).getRequests();
if (CollectionUtils.isNotEmpty(termVectorsRequests)) {
for (TermVectorsRequest singleRequest : termVectorsRequests) {
indexs.addAll(Arrays.asList(singleRequest.indices()));
}
return indexs;
}
}
if (request instanceof UpdateByQueryRequest) {
return Arrays.asList(((UpdateByQueryRequest) request).indices());
}
if (request instanceof DeleteByQueryRequest) {
return Arrays.asList(((DeleteByQueryRequest) request).indices());
}
if (request instanceof ReindexRequest) {
indexs.addAll(Arrays.asList(((ReindexRequest) request).getSearchRequest().indices()));
indexs.addAll(Arrays.asList(((ReindexRequest) request).getDestination().indices()));
return indexs;
}
// ClearScrollRequest does not carry any index, so return empty List
if (request instanceof ClearScrollRequest) {
return indexs;
}
// No matched request type to find specific index , set default value *
indexs.add("*");
return indexs;
}
use of org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequest in project uavstack by uavorg.
the class ESClient method setIndexTypeMapping.
/**
* setIndexTypeMapping require Index Creation first
*
* @param index
* @param type
* @param properties
* @return
* @throws IOException
*/
public boolean setIndexTypeMapping(String index, String type, Map<String, Map<String, Object>> properties) throws IOException {
PutMappingRequest pmp = Requests.putMappingRequest(index).type(type).source(createMapping(type, properties));
PutMappingResponse resp = client.admin().indices().putMapping(pmp).actionGet();
return resp.isAcknowledged();
}
Aggregations