Package org.elasticsearch.index.mapper

Examples of org.elasticsearch.index.mapper.DocumentFieldMappers


        }
    };

    private ImmutableMap<String, FieldMappingMetaData> findFieldMappingsByType(DocumentMapper documentMapper, GetFieldMappingsIndexRequest request) throws ElasticsearchException {
        MapBuilder<String, FieldMappingMetaData> fieldMappings = new MapBuilder<>();
        final DocumentFieldMappers allFieldMappers = documentMapper.mappers();
        for (String field : request.fields()) {
            if (Regex.isMatchAllPattern(field)) {
                for (FieldMapper<?> fieldMapper : allFieldMappers) {
                    addFieldMapper(fieldMapper.names().fullName(), fieldMapper, fieldMappings, request.includeDefaults());
                }
            } else if (Regex.isSimpleMatchPattern(field)) {
                // go through the field mappers 3 times, to make sure we give preference to the resolve order: full name, index name, name.
                // also make sure we only store each mapper once.
                Collection<FieldMapper<?>> remainingFieldMappers = new LinkedList<>(allFieldMappers);
                for (Iterator<FieldMapper<?>> it = remainingFieldMappers.iterator(); it.hasNext(); ) {
                    final FieldMapper<?> fieldMapper = it.next();
                    if (Regex.simpleMatch(field, fieldMapper.names().fullName())) {
                        addFieldMapper(fieldMapper.names().fullName(), fieldMapper, fieldMappings, request.includeDefaults());
                        it.remove();
                    }
                }
                for (Iterator<FieldMapper<?>> it = remainingFieldMappers.iterator(); it.hasNext(); ) {
                    final FieldMapper<?> fieldMapper = it.next();
                    if (Regex.simpleMatch(field, fieldMapper.names().indexName())) {
                        addFieldMapper(fieldMapper.names().indexName(), fieldMapper, fieldMappings, request.includeDefaults());
                        it.remove();
                    }
                }
                for (Iterator<FieldMapper<?>> it = remainingFieldMappers.iterator(); it.hasNext(); ) {
                    final FieldMapper<?> fieldMapper = it.next();
                    if (Regex.simpleMatch(field, fieldMapper.names().name())) {
                        addFieldMapper(fieldMapper.names().name(), fieldMapper, fieldMappings, request.includeDefaults());
                        it.remove();
                    }
                }

            } else {
                // not a pattern
                FieldMapper<?> fieldMapper = allFieldMappers.smartNameFieldMapper(field);
                if (fieldMapper != null) {
                    addFieldMapper(field, fieldMapper, fieldMappings, request.includeDefaults());
                } else if (request.probablySingleFieldRequest()) {
                    fieldMappings.put(field, FieldMappingMetaData.NULL);
                }
View Full Code Here

TOP

Related Classes of org.elasticsearch.index.mapper.DocumentFieldMappers

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.