Package org.elasticsearch.index.mapper

Examples of org.elasticsearch.index.mapper.FieldMappers


        return newFilter(parseContext, fieldPattern, filterName);
    }

    public static Filter newFilter(QueryParseContext parseContext, String fieldPattern, String filterName) {
        final FieldMappers fieldNamesMapper = parseContext.mapperService().indexName(FieldNamesFieldMapper.CONTENT_TYPE);

        MapperService.SmartNameObjectMapper smartNameObjectMapper = parseContext.smartObjectMapper(fieldPattern);
        if (smartNameObjectMapper != null && smartNameObjectMapper.hasMapper()) {
            // automatic make the object mapper pattern
            fieldPattern = fieldPattern + ".*";
        }

        List<String> fields = parseContext.simpleMatchToIndexNames(fieldPattern);
        if (fields.isEmpty()) {
            // no fields exists, so we should not match anything
            return Queries.MATCH_NO_FILTER;
        }
        MapperService.SmartNameFieldMappers nonNullFieldMappers = null;

        XBooleanFilter boolFilter = new XBooleanFilter();
        for (String field : fields) {
            MapperService.SmartNameFieldMappers smartNameFieldMappers = parseContext.smartFieldMappers(field);
            if (smartNameFieldMappers != null) {
                nonNullFieldMappers = smartNameFieldMappers;
            }
            Filter filter = null;
            if (fieldNamesMapper!= null && fieldNamesMapper.mapper().fieldType().indexOptions() != IndexOptions.NONE) {
                final String f;
                if (smartNameFieldMappers != null && smartNameFieldMappers.hasMapper()) {
                    f = smartNameFieldMappers.mapper().names().indexName();
                } else {
                    f = field;
                }
                filter = fieldNamesMapper.mapper().termFilter(f, parseContext);
            }
            // if _field_names are not indexed, we need to go the slow way
            if (filter == null && smartNameFieldMappers != null && smartNameFieldMappers.hasMapper()) {
                filter = smartNameFieldMappers.mapper().rangeFilter(null, null, true, true, parseContext);
            }
View Full Code Here


        this.defaultDocValuesFormat = defaultDocValuesFormat;
    }

    @Override
    public PostingsFormat getPostingsFormatForField(String field) {
        final FieldMappers indexName = mapperService.indexName(field);
        if (indexName == null) {
            logger.warn("no index mapper found for field: [{}] returning default postings format", field);
            return defaultPostingFormat;
        }
        PostingsFormatProvider postingsFormat = indexName.mapper().postingsFormatProvider();
        return postingsFormat != null ? postingsFormat.get() : defaultPostingFormat;
    }
View Full Code Here

        return postingsFormat != null ? postingsFormat.get() : defaultPostingFormat;
    }

    @Override
    public DocValuesFormat getDocValuesFormatForField(String field) {
        final FieldMappers indexName = mapperService.indexName(field);
        if (indexName == null) {
            logger.warn("no index mapper found for field: [{}] returning default doc values format", field);
            return defaultDocValuesFormat;
        }
        DocValuesFormatProvider docValuesFormat = indexName.mapper().docValuesFormatProvider();
        return docValuesFormat != null ? docValuesFormat.get() : defaultDocValuesFormat;
    }
View Full Code Here

TOP

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

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.