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


Java Mapper.TypeParser方法代码示例

本文整理汇总了Java中org.elasticsearch.index.mapper.Mapper.TypeParser方法的典型用法代码示例。如果您正苦于以下问题:Java Mapper.TypeParser方法的具体用法?Java Mapper.TypeParser怎么用?Java Mapper.TypeParser使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.elasticsearch.index.mapper.Mapper的用法示例。


在下文中一共展示了Mapper.TypeParser方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: newTestIndicesModule

import org.elasticsearch.index.mapper.Mapper; //导入方法依赖的package包/类
/** Creates an IndicesModule for testing with the given mappers and metadata mappers. */
public static IndicesModule newTestIndicesModule(Map<String, Mapper.TypeParser> extraMappers,
                                                 Map<String, MetadataFieldMapper.TypeParser> extraMetadataMappers) {
    return new IndicesModule(Collections.singletonList(
        new MapperPlugin() {
            @Override
            public Map<String, Mapper.TypeParser> getMappers() {
                return extraMappers;
            }
            @Override
            public Map<String, MetadataFieldMapper.TypeParser> getMetadataMappers() {
                return extraMetadataMappers;
            }
        }
    ));
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:17,代码来源:ESTestCase.java

示例2: testDuplicateOtherPluginMapper

import org.elasticsearch.index.mapper.Mapper; //导入方法依赖的package包/类
public void testDuplicateOtherPluginMapper() {
    MapperPlugin plugin = new MapperPlugin() {
        @Override
        public Map<String, Mapper.TypeParser> getMappers() {
            return Collections.singletonMap("foo", new FakeMapperParser());
        }
    };
    List<MapperPlugin> plugins = Arrays.asList(plugin, plugin);
    IllegalArgumentException e = expectThrows(IllegalArgumentException.class,
        () -> new IndicesModule(plugins));
    assertThat(e.getMessage(), Matchers.containsString("already registered"));
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:13,代码来源:IndicesModuleTests.java

示例3: getMappers

import org.elasticsearch.index.mapper.Mapper; //导入方法依赖的package包/类
@Override
public Map<String, Mapper.TypeParser> getMappers() {
    Map<String, Mapper.TypeParser> mappers = new HashMap<>();
    mappers.put(EXTERNAL, new ExternalMapper.TypeParser(EXTERNAL, "foo"));
    mappers.put(EXTERNAL_BIS, new ExternalMapper.TypeParser(EXTERNAL_BIS, "bar"));
    mappers.put(EXTERNAL_UPPER, new ExternalMapper.TypeParser(EXTERNAL_UPPER, "FOO BAR"));
    mappers.put(FakeStringFieldMapper.CONTENT_TYPE, new FakeStringFieldMapper.TypeParser());
    return Collections.unmodifiableMap(mappers);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:10,代码来源:ExternalMapperPlugin.java

示例4: registerMapper

import org.elasticsearch.index.mapper.Mapper; //导入方法依赖的package包/类
/**
 * Register a mapper for the given type.
 */
public synchronized void registerMapper(String type, Mapper.TypeParser parser) {
    if (mapperParsers.containsKey(type)) {
        throw new IllegalArgumentException("A mapper is already registered for type [" + type + "]");
    }
    mapperParsers.put(type, parser);
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:10,代码来源:IndicesModule.java

示例5: findTemplateBuilder

import org.elasticsearch.index.mapper.Mapper; //导入方法依赖的package包/类
public Mapper.Builder findTemplateBuilder(ParseContext context, String name, String dynamicType, String matchType) {
    DynamicTemplate dynamicTemplate = findTemplate(context.path(), name, matchType);
    if (dynamicTemplate == null) {
        return null;
    }
    Mapper.TypeParser.ParserContext parserContext = context.docMapperParser().parserContext(name);
    String mappingType = dynamicTemplate.mappingType(dynamicType);
    Mapper.TypeParser typeParser = parserContext.typeParser(mappingType);
    if (typeParser == null) {
        throw new MapperParsingException("failed to find type parsed [" + mappingType + "] for [" + name + "]");
    }
    return typeParser.parse(name, dynamicTemplate.mappingForName(name, dynamicType), parserContext);
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:14,代码来源:RootObjectMapper.java

示例6: getMappers

import org.elasticsearch.index.mapper.Mapper; //导入方法依赖的package包/类
@Override
public Map<String, Mapper.TypeParser> getMappers() {
    return Collections.singletonMap(PercolatorFieldMapper.CONTENT_TYPE, new PercolatorFieldMapper.TypeParser());
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:5,代码来源:PercolatorPlugin.java

示例7: MapperRegistry

import org.elasticsearch.index.mapper.Mapper; //导入方法依赖的package包/类
public MapperRegistry(Map<String, Mapper.TypeParser> mapperParsers,
        Map<String, MetadataFieldMapper.TypeParser> metadataMapperParsers) {
    this.mapperParsers = Collections.unmodifiableMap(new LinkedHashMap<>(mapperParsers));
    this.metadataMapperParsers = Collections.unmodifiableMap(new LinkedHashMap<>(metadataMapperParsers));
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:6,代码来源:MapperRegistry.java

示例8: getMappers

import org.elasticsearch.index.mapper.Mapper; //导入方法依赖的package包/类
@Override
public Map<String, Mapper.TypeParser> getMappers() {
    return Collections.singletonMap("fake-mapper", new KeywordFieldMapper.TypeParser());
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:5,代码来源:IndicesServiceTests.java

示例9: getMappers

import org.elasticsearch.index.mapper.Mapper; //导入方法依赖的package包/类
@Override
public Map<String, Mapper.TypeParser> getMappers() {
    return Collections.singletonMap("fake-mapper", new FakeMapperParser());
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:5,代码来源:IndicesModuleTests.java

示例10: getMappers

import org.elasticsearch.index.mapper.Mapper; //导入方法依赖的package包/类
@Override
public Map<String, Mapper.TypeParser> getMappers() {
    return Collections.singletonMap(Murmur3FieldMapper.CONTENT_TYPE, new Murmur3FieldMapper.TypeParser());
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:5,代码来源:MapperMurmur3Plugin.java

示例11: parseProperties

import org.elasticsearch.index.mapper.Mapper; //导入方法依赖的package包/类
protected static void parseProperties(ObjectMapper.Builder objBuilder, Map<String, Object> propsNode, ParserContext parserContext) {
    Iterator<Map.Entry<String, Object>> iterator = propsNode.entrySet().iterator();
    while (iterator.hasNext()) {
        Map.Entry<String, Object> entry = iterator.next();
        String fieldName = entry.getKey();
        if (fieldName.contains(".")) {
            throw new MapperParsingException("Field name [" + fieldName + "] cannot contain '.'");
        }
        // Should accept empty arrays, as a work around for when the
        // user can't provide an empty Map. (PHP for example)
        boolean isEmptyList = entry.getValue() instanceof List && ((List<?>) entry.getValue()).isEmpty();

        if (entry.getValue() instanceof Map) {
            @SuppressWarnings("unchecked")
            Map<String, Object> propNode = (Map<String, Object>) entry.getValue();

            /* mark delete field when reindex */
            Object deleteNode = propNode.get("delete");
            if (deleteNode != null && deleteNode.toString().equals("true")) {
                /* TODO GaoPan: mark delete field when reindex */
                iterator.remove();
            } else {
                String type;
                Object typeNode = propNode.get("type");
                if (typeNode != null) {
                    type = typeNode.toString();
                } else {
                    // lets see if we can derive this...
                    if (propNode.get("properties") != null) {
                        type = ObjectMapper.CONTENT_TYPE;
                    } else if (propNode.size() == 1 && propNode.get("enabled") != null) {
                        // if there is a single property with the enabled
                        // flag on it, make it an object
                        // (usually, setting enabled to false to not index
                        // any type, including core values, which
                        type = ObjectMapper.CONTENT_TYPE;
                    } else {
                        throw new MapperParsingException("No type specified for field [" + fieldName + "]");
                    }
                }

                Mapper.TypeParser typeParser = parserContext.typeParser(type);
                if (typeParser == null) {
                    throw new MapperParsingException("No handler for type [" + type + "] declared on field [" + fieldName + "]");
                }
                objBuilder.add(typeParser.parse(fieldName, propNode, parserContext));
                propNode.remove("type");
                DocumentMapperParser.checkNoRemainingFields(fieldName, propNode, parserContext.indexVersionCreated());
                iterator.remove();
            }
        } else if (isEmptyList) {
            iterator.remove();
        } else {
            throw new MapperParsingException("Expected map for property [fields] on field [" + fieldName + "] but got a "
                    + fieldName.getClass());
        }
    }

    DocumentMapperParser.checkNoRemainingFields(propsNode, parserContext.indexVersionCreated(),
            "DocType mapping definition has unsupported parameters: ");

}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:63,代码来源:ObjectMapper.java

示例12: parseMultiField

import org.elasticsearch.index.mapper.Mapper; //导入方法依赖的package包/类
public static boolean parseMultiField(FieldMapper.Builder builder, String name, Mapper.TypeParser.ParserContext parserContext, String propName, Object propNode) {
    parserContext = parserContext.createMultiFieldContext(parserContext);
    if (propName.equals("path") && parserContext.indexVersionCreated().before(Version.V_2_0_0_beta1)) {
        builder.multiFieldPathType(parsePathType(name, propNode.toString()));
        return true;
    } else if (propName.equals("fields")) {

        final Map<String, Object> multiFieldsPropNodes;

        if (propNode instanceof List && ((List<?>) propNode).isEmpty()) {
            multiFieldsPropNodes = Collections.emptyMap();
        } else if (propNode instanceof Map) {
            multiFieldsPropNodes = (Map<String, Object>) propNode;
        } else {
            throw new MapperParsingException("expected map for property [fields] on field [" + propNode + "] or " +
                    "[" + propName + "] but got a " + propNode.getClass());
        }

        for (Map.Entry<String, Object> multiFieldEntry : multiFieldsPropNodes.entrySet()) {
            String multiFieldName = multiFieldEntry.getKey();
            if (multiFieldName.contains(".")) {
                throw new MapperParsingException("Field name [" + multiFieldName + "] which is a multi field of [" + name + "] cannot contain '.'");
            }
            if (!(multiFieldEntry.getValue() instanceof Map)) {
                throw new MapperParsingException("illegal field [" + multiFieldName + "], only fields can be specified inside fields");
            }
            @SuppressWarnings("unchecked")
            Map<String, Object> multiFieldNodes = (Map<String, Object>) multiFieldEntry.getValue();

            String type;
            Object typeNode = multiFieldNodes.get("type");
            if (typeNode != null) {
                type = typeNode.toString();
            } else {
                throw new MapperParsingException("no type specified for property [" + multiFieldName + "]");
            }
            if (type.equals(ObjectMapper.CONTENT_TYPE) || type.equals(ObjectMapper.NESTED_CONTENT_TYPE)) {
                throw new MapperParsingException("Type [" + type + "] cannot be used in multi field");
            }

            Mapper.TypeParser typeParser = parserContext.typeParser(type);
            if (typeParser == null) {
                throw new MapperParsingException("no handler for type [" + type + "] declared on field [" + multiFieldName + "]");
            }
            builder.addMultiField(typeParser.parse(multiFieldName, multiFieldNodes, parserContext));
            multiFieldNodes.remove("type");
            DocumentMapperParser.checkNoRemainingFields(propName, multiFieldNodes, parserContext.indexVersionCreated());
        }
        return true;
    }
    return false;
}
 
开发者ID:baidu,项目名称:Elasticsearch,代码行数:53,代码来源:TypeParsers.java

示例13: getMapperParsers

import org.elasticsearch.index.mapper.Mapper; //导入方法依赖的package包/类
/**
 * Return a map of the mappers that have been registered. The
 * returned map uses the type of the field as a key.
 */
public Map<String, Mapper.TypeParser> getMapperParsers() {
    return mapperParsers;
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:8,代码来源:MapperRegistry.java

示例14: getMappers

import org.elasticsearch.index.mapper.Mapper; //导入方法依赖的package包/类
/**
 * Returns additional mapper implementations added by this plugin.
 *
 * The key of the returned {@link Map} is the unique name for the mapper which will be used
 * as the mapping {@code type}, and the value is a {@link Mapper.TypeParser} to parse the
 * mapper settings into a {@link Mapper}.
 */
default Map<String, Mapper.TypeParser> getMappers() {
    return Collections.emptyMap();
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:11,代码来源:MapperPlugin.java


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