当前位置: 首页>>代码示例>>Java>>正文


Java FieldMappingMetaData类代码示例

本文整理汇总了Java中org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData的典型用法代码示例。如果您正苦于以下问题:Java FieldMappingMetaData类的具体用法?Java FieldMappingMetaData怎么用?Java FieldMappingMetaData使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


FieldMappingMetaData类属于org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse包,在下文中一共展示了FieldMappingMetaData类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: isFieldMappingMissingField

import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData; //导入依赖的package包/类
/**
 * Helper method to find out if the only included fieldmapping metadata is typed NULL, which means
 * that type and index exist, but the field did not
 */
private boolean isFieldMappingMissingField(Map<String, Map<String, Map<String, FieldMappingMetaData>>> mappingsByIndex) {
    if (mappingsByIndex.size() != 1) {
        return false;
    }

    for (Map<String, Map<String, FieldMappingMetaData>> value : mappingsByIndex.values()) {
        for (Map<String, FieldMappingMetaData> fieldValue : value.values()) {
            for (Map.Entry<String, FieldMappingMetaData> fieldMappingMetaDataEntry : fieldValue.entrySet()) {
                if (fieldMappingMetaDataEntry.getValue().isNull()) {
                    return true;
                }
            }
        }
    }
    return false;
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:21,代码来源:RestGetFieldMappingAction.java

示例2: testSerialization

import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData; //导入依赖的package包/类
public void testSerialization() throws IOException {
    Map<String, Map<String, Map<String, FieldMappingMetaData>>> mappings = new HashMap<>();
    FieldMappingMetaData fieldMappingMetaData = new FieldMappingMetaData("my field", new BytesArray("{}"));
    mappings.put("index", Collections.singletonMap("type", Collections.singletonMap("field", fieldMappingMetaData)));
    GetFieldMappingsResponse response = new GetFieldMappingsResponse(mappings);

    try (BytesStreamOutput out = new BytesStreamOutput()) {
        response.writeTo(out);
        GetFieldMappingsResponse serialized = new GetFieldMappingsResponse();
        try (StreamInput in = StreamInput.wrap(out.bytes().toBytesRef().bytes)) {
            serialized.readFrom(in);
            FieldMappingMetaData metaData = serialized.fieldMappings("index", "type", "field");
            assertNotNull(metaData);
            assertEquals(new BytesArray("{}"), metaData.getSource());
        }
    }
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:18,代码来源:GetFieldMappingsResponseTests.java

示例3: isFieldMappingMissingField

import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData; //导入依赖的package包/类
/**
 * Helper method to find out if the only included fieldmapping metadata is typed NULL, which means
 * that type and index exist, but the field did not
 */
private boolean isFieldMappingMissingField(ImmutableMap<String, ImmutableMap<String, ImmutableMap<String, FieldMappingMetaData>>> mappingsByIndex) throws IOException {
    if (mappingsByIndex.size() != 1) {
        return false;
    }

    for (ImmutableMap<String, ImmutableMap<String, FieldMappingMetaData>> value : mappingsByIndex.values()) {
        for (ImmutableMap<String, FieldMappingMetaData> fieldValue : value.values()) {
            for (Map.Entry<String, FieldMappingMetaData> fieldMappingMetaDataEntry : fieldValue.entrySet()) {
                if (fieldMappingMetaDataEntry.getValue().isNull()) {
                    return true;
                }
            }
        }
    }
    return false;
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:21,代码来源:RestGetFieldMappingAction.java

示例4: prepareRequest

import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData; //导入依赖的package包/类
@Override
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
    final String[] indices = Strings.splitStringByCommaToArray(request.param("index"));
    final String[] types = request.paramAsStringArrayOrEmptyIfAll("type");
    final String[] fields = Strings.splitStringByCommaToArray(request.param("fields"));
    GetFieldMappingsRequest getMappingsRequest = new GetFieldMappingsRequest();
    getMappingsRequest.indices(indices).types(types).fields(fields).includeDefaults(request.paramAsBoolean("include_defaults", false));
    getMappingsRequest.indicesOptions(IndicesOptions.fromRequest(request, getMappingsRequest.indicesOptions()));
    getMappingsRequest.local(request.paramAsBoolean("local", getMappingsRequest.local()));
    return channel ->
            client.admin().indices().getFieldMappings(getMappingsRequest, new RestBuilderListener<GetFieldMappingsResponse>(channel) {
                @Override
                public RestResponse buildResponse(GetFieldMappingsResponse response, XContentBuilder builder) throws Exception {
                    Map<String, Map<String, Map<String, FieldMappingMetaData>>> mappingsByIndex = response.mappings();

                    boolean isPossibleSingleFieldRequest = indices.length == 1 && types.length == 1 && fields.length == 1;
                    if (isPossibleSingleFieldRequest && isFieldMappingMissingField(mappingsByIndex)) {
                        return new BytesRestResponse(OK, builder.startObject().endObject());
                    }

                    RestStatus status = OK;
                    if (mappingsByIndex.isEmpty() && fields.length > 0) {
                        status = NOT_FOUND;
                    }
                    builder.startObject();
                    response.toXContent(builder, request);
                    builder.endObject();
                    return new BytesRestResponse(status, builder);
                }
            });
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:32,代码来源:RestGetFieldMappingAction.java

示例5: addFieldMapper

import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData; //导入依赖的package包/类
private void addFieldMapper(String field, FieldMapper fieldMapper, MapBuilder<String, FieldMappingMetaData> fieldMappings, boolean includeDefaults) {
    if (fieldMappings.containsKey(field)) {
        return;
    }
    try {
        XContentBuilder builder = XContentFactory.contentBuilder(XContentType.JSON);
        builder.startObject();
        fieldMapper.toXContent(builder, includeDefaults ? includeDefaultsParams : ToXContent.EMPTY_PARAMS);
        builder.endObject();
        fieldMappings.put(field, new FieldMappingMetaData(fieldMapper.fieldType().name(), builder.bytes()));
    } catch (IOException e) {
        throw new ElasticsearchException("failed to serialize XContent of field [" + field + "]", e);
    }
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:15,代码来源:TransportGetFieldMappingsIndexAction.java

示例6: handleRequest

import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData; //导入依赖的package包/类
@Override
public void handleRequest(final RestRequest request, final RestChannel channel, final Client client) {
    final String[] indices = Strings.splitStringByCommaToArray(request.param("index"));
    final String[] types = request.paramAsStringArrayOrEmptyIfAll("type");
    final String[] fields = Strings.splitStringByCommaToArray(request.param("fields"));
    GetFieldMappingsRequest getMappingsRequest = new GetFieldMappingsRequest();
    getMappingsRequest.indices(indices).types(types).fields(fields).includeDefaults(request.paramAsBoolean("include_defaults", false));
    getMappingsRequest.indicesOptions(IndicesOptions.fromRequest(request, getMappingsRequest.indicesOptions()));
    getMappingsRequest.local(request.paramAsBoolean("local", getMappingsRequest.local()));
    client.admin().indices().getFieldMappings(getMappingsRequest, new RestBuilderListener<GetFieldMappingsResponse>(channel) {

        @SuppressWarnings("unchecked")
        @Override
        public RestResponse buildResponse(GetFieldMappingsResponse response, XContentBuilder builder) throws Exception {
            ImmutableMap<String, ImmutableMap<String, ImmutableMap<String, FieldMappingMetaData>>> mappingsByIndex = response.mappings();

            boolean isPossibleSingleFieldRequest = indices.length == 1 && types.length == 1 && fields.length == 1;
            if (isPossibleSingleFieldRequest && isFieldMappingMissingField(mappingsByIndex)) {
                return new BytesRestResponse(OK, builder.startObject().endObject());
            }

            RestStatus status = OK;
            if (mappingsByIndex.isEmpty() && fields.length > 0) {
                status = NOT_FOUND;
            }
            builder.startObject();
            response.toXContent(builder, request);
            builder.endObject();
            return new BytesRestResponse(status, builder);
        }
    });
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:33,代码来源:RestGetFieldMappingAction.java

示例7: addFieldMapper

import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData; //导入依赖的package包/类
private void addFieldMapper(String field, FieldMapper fieldMapper, MapBuilder<String, FieldMappingMetaData> fieldMappings, boolean includeDefaults) {
    if (fieldMappings.containsKey(field)) {
        return;
    }
    try {
        XContentBuilder builder = XContentFactory.contentBuilder(XContentType.JSON);
        builder.startObject();
        fieldMapper.toXContent(builder, includeDefaults ? includeDefaultsParams : ToXContent.EMPTY_PARAMS);
        builder.endObject();
        fieldMappings.put(field, new FieldMappingMetaData(fieldMapper.fieldType().names().fullName(), builder.bytes()));
    } catch (IOException e) {
        throw new ElasticsearchException("failed to serialize XContent of field [" + field + "]", e);
    }
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:15,代码来源:TransportGetFieldMappingsIndexAction.java

示例8: getMappingsForField

import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData; //导入依赖的package包/类
@Override
public ImmutableOpenMap<String, FieldMappingMetaData> getMappingsForField(String index,
        String field) {
    Object mappingss = cache.get(makeKey(index, field));
    if (mappingss == null) {
        mappingss = getClient().admin().indices().prepareGetMappings(index).execute()
                .actionGet();
        cache.put(makeKey(index, field), mappingss);
    }

    ImmutableOpenMap.Builder<String, FieldMappingMetaData> mappingsMapBuilder = new ImmutableOpenMap.Builder<>();
    // TODO: this workaround was implemented because of this ES 5.x issue
    // https://github.com/elastic/elasticsearch/issues/22209
    // revert this when the issue is fixed
    Object[] mappings = ((GetMappingsResponse) mappingss).getMappings().get(index).values()
            .toArray();
    for (Object mapping : mappings) {
        try (XContentBuilder contentBuilder = XContentFactory
                .contentBuilder(XContentType.JSON)) {
            MappingMetaData mappingMetaData = (MappingMetaData) mapping;
            Object fieldMapping = mappingMetaData.getSourceAsMap().get(field);
            contentBuilder.startObject();
            contentBuilder.field(field, fieldMapping);
            contentBuilder.endObject();
            mappingsMapBuilder.put(mappingMetaData.type(),
                    new FieldMappingMetaData(field, contentBuilder.bytes()));
        } catch (IOException e) {
            log.debug(e);
            throw new ODataRuntimeException("Can't parse elasticsearch mapping");
        }
    }

    return mappingsMapBuilder.build();
}
 
开发者ID:Hevelian,项目名称:hevelian-olastic,代码行数:35,代码来源:DefaultMetaDataProvider.java

示例9: getMappingForField

import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData; //导入依赖的package包/类
@Override
public FieldMappingMetaData getMappingForField(String index, String type, String field) {
    Object mapping = cache.get(makeKey(index, type, field));
    if (mapping == null) {
        mapping = getClient().admin().indices().prepareGetFieldMappings(index).setTypes(type)
                .setFields(field).execute().actionGet();
        cache.put(makeKey(index, type, field), mapping);
    }

    return ((GetFieldMappingsResponse) mapping).mappings().get(index).get(type).get(field);
}
 
开发者ID:Hevelian,项目名称:hevelian-olastic,代码行数:12,代码来源:DefaultMetaDataProvider.java

示例10: getNavigationProperties_EntityTypeNameAndEmptyMappings_EmptyListRetrieved

import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData; //导入依赖的package包/类
@Test
public void getNavigationProperties_EntityTypeNameAndEmptyMappings_EmptyListRetrieved() {
    Builder<String, FieldMappingMetaData> builder = ImmutableOpenMap.builder();
    ImmutableOpenMap<String, FieldMappingMetaData> map = builder.build();
    when(metaDataProvider.getMappingsForField(AUTHORS_INDEX, ElasticConstants.PARENT_PROPERTY))
            .thenReturn(map);
    MultyElasticIndexCsdlEdmProvider edmProvider = new MultyElasticIndexCsdlEdmProvider(
            metaDataProvider, indices);
    assertTrue(edmProvider.getNavigationProperties(AUTHORS_INDEX, AUTHOR_TYPE).isEmpty());
}
 
开发者ID:Hevelian,项目名称:hevelian-olastic,代码行数:11,代码来源:MultyElasticIndexCsdlEdmProviderTest.java

示例11: getNavigationProperties_EntityTypeNameAndMappingsEmptyValueMap_EmptyListRetrieved

import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData; //导入依赖的package包/类
@Test
public void getNavigationProperties_EntityTypeNameAndMappingsEmptyValueMap_EmptyListRetrieved() {
    Builder<String, FieldMappingMetaData> builder = ImmutableOpenMap.builder();
    FieldMappingMetaData mappingMetaData = mock(FieldMappingMetaData.class);
    when(mappingMetaData.sourceAsMap()).thenReturn(new HashMap<String, Object>());
    builder.put(BOOK_TYPE, mappingMetaData);
    ImmutableOpenMap<String, FieldMappingMetaData> map = builder.build();
    when(metaDataProvider.getMappingsForField(AUTHORS_INDEX, ElasticConstants.PARENT_PROPERTY))
            .thenReturn(map);
    MultyElasticIndexCsdlEdmProvider edmProvider = new MultyElasticIndexCsdlEdmProvider(
            metaDataProvider, indices);
    assertTrue(edmProvider.getNavigationProperties(AUTHORS_INDEX, AUTHOR_TYPE).isEmpty());
}
 
开发者ID:Hevelian,项目名称:hevelian-olastic,代码行数:14,代码来源:MultyElasticIndexCsdlEdmProviderTest.java

示例12: getParentChildMappings

import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData; //导入依赖的package包/类
private static ImmutableOpenMap<String, FieldMappingMetaData> getParentChildMappings() {
    Builder<String, FieldMappingMetaData> mappingsBuilder = ImmutableOpenMap.builder();
    FieldMappingMetaData mappingMetaData = mock(FieldMappingMetaData.class);
    HashMap<Object, Object> parentProperties = new HashMap<>();
    parentProperties.put("type", AUTHOR_TYPE);
    mappingsBuilder.put(BOOK_TYPE, mappingMetaData);
    HashMap<String, Object> parent = new HashMap<String, Object>();
    parent.put(ElasticConstants.PARENT_PROPERTY, parentProperties);
    when(mappingMetaData.sourceAsMap()).thenReturn(parent);
    return mappingsBuilder.build();
}
 
开发者ID:Hevelian,项目名称:hevelian-olastic,代码行数:12,代码来源:MultyElasticIndexCsdlEdmProviderTest.java

示例13: containsKibanaUserIndex

import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData; //导入依赖的package包/类
private boolean containsKibanaUserIndex(ActionResponse response) {
    String index = "";

    if (response instanceof MultiGetResponse) {
        for (MultiGetItemResponse item : ((MultiGetResponse) response).getResponses()) {
            GetResponse itemResponse = item.getResponse();
            Failure itemFailure = item.getFailure();

            if (itemResponse == null) {
                if (isKibanaUserIndex(itemFailure.getIndex())) {
                    return true;
                }
            } else {
                if (isKibanaUserIndex(itemResponse.getIndex())) {
                    return true;
                }
            }
        }

        return false;
    }

    if (response instanceof IndexResponse) {
        index = ((IndexResponse) response).getIndex();
    } else if (response instanceof GetResponse) {
        index = ((GetResponse) response).getIndex();
    } else if (response instanceof DeleteResponse) {
        index = ((DeleteResponse) response).getIndex();
    } else if (response instanceof GetFieldMappingsResponse) {
        ImmutableMap<String, ImmutableMap<String, ImmutableMap<String, FieldMappingMetaData>>> mappings = ((GetFieldMappingsResponse) response)
                .mappings();
        for (String key : mappings.keySet()) {
            index = key;
        }
    }

    return isKibanaUserIndex(index);
}
 
开发者ID:fabric8io,项目名称:openshift-elasticsearch-plugin,代码行数:39,代码来源:KibanaUserReindexAction.java

示例14: updateMappingResponse

import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData; //导入依赖的package包/类
public void updateMappingResponse(StreamOutput out, String index,
        ImmutableMap<String, ImmutableMap<String, ImmutableMap<String, FieldMappingMetaData>>> mappings)
        throws IOException {
    super.writeTo(out);
    out.writeVInt(mappings.size());
    for (Map.Entry<String, ImmutableMap<String, ImmutableMap<String, FieldMappingMetaData>>> indexEntry : mappings
            .entrySet()) {
        out.writeString(index);
        out.writeVInt(indexEntry.getValue().size());
        for (Map.Entry<String, ImmutableMap<String, FieldMappingMetaData>> typeEntry : indexEntry.getValue()
                .entrySet()) {
            out.writeString(typeEntry.getKey());
            out.writeVInt(typeEntry.getValue().size());

            for (Map.Entry<String, FieldMappingMetaData> fieldEntry : typeEntry.getValue().entrySet()) {
                out.writeString(fieldEntry.getKey());
                FieldMappingMetaData fieldMapping = fieldEntry.getValue();
                out.writeString(fieldMapping.fullName());

                // below replaces logic of
                // out.writeBytesReference(fieldMapping.source);
                Map<String, Object> map = fieldMapping.sourceAsMap();

                XContentBuilder builder = XContentBuilder.builder(JsonXContent.jsonXContent);

                builder.map(map).close();
                out.writeBytesReference(builder.bytes());
            }
        }
    }
}
 
开发者ID:fabric8io,项目名称:openshift-elasticsearch-plugin,代码行数:32,代码来源:KibanaUserReindexAction.java

示例15: getMappingsForField

import org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData; //导入依赖的package包/类
/**
 * Get all mappings for fields with the requested name within a single
 * instance.
 * 
 * @param index
 *            name of the index.
 * @param field
 *            name of the field.
 * @return type/field mapping map.
 */
ImmutableOpenMap<String, FieldMappingMetaData> getMappingsForField(String index, String field);
 
开发者ID:Hevelian,项目名称:hevelian-olastic,代码行数:12,代码来源:MappingMetaDataProvider.java


注:本文中的org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsResponse.FieldMappingMetaData类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。