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


Java Processor.Factory方法代码示例

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


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

示例1: create

import org.elasticsearch.ingest.Processor; //导入方法依赖的package包/类
@Override
public Processor create(Map<String, Processor.Factory> processorFactories, String tag,
                        Map<String, Object> config) throws Exception {
    String field = ConfigurationUtils.readStringProperty(TYPE, tag, config, "field");
    if (field.contains(".") == false) {
        throw ConfigurationUtils.newConfigurationException(ConfigurationUtils.TAG_KEY, tag, "field",
                "field does not contain a dot");
    }
    if (field.indexOf('.') == 0 || field.lastIndexOf('.') == field.length() - 1) {
        throw ConfigurationUtils.newConfigurationException(ConfigurationUtils.TAG_KEY, tag, "field",
                "Field can't start or end with a dot");
    }
    int firstIndex = -1;
    for (int index = field.indexOf('.'); index != -1; index = field.indexOf('.', index + 1)) {
        if (index - firstIndex == 1) {
            throw ConfigurationUtils.newConfigurationException(ConfigurationUtils.TAG_KEY, tag, "field",
                    "No space between dots");
        }
        firstIndex = index;
    }

    String path = ConfigurationUtils.readOptionalStringProperty(TYPE, tag, config, "path");
    return new DotExpanderProcessor(tag, path, field);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:25,代码来源:DotExpanderProcessor.java

示例2: create

import org.elasticsearch.ingest.Processor; //导入方法依赖的package包/类
@Override
public GrokProcessor create(Map<String, Processor.Factory> registry, String processorTag,
                            Map<String, Object> config) throws Exception {
    String matchField = ConfigurationUtils.readStringProperty(TYPE, processorTag, config, "field");
    List<String> matchPatterns = ConfigurationUtils.readList(TYPE, processorTag, config, "patterns");
    boolean traceMatch = ConfigurationUtils.readBooleanProperty(TYPE, processorTag, config, "trace_match", false);
    boolean ignoreMissing = ConfigurationUtils.readBooleanProperty(TYPE, processorTag, config, "ignore_missing", false);

    if (matchPatterns.isEmpty()) {
        throw newConfigurationException(TYPE, processorTag, "patterns", "List of patterns must not be empty");
    }
    Map<String, String> customPatternBank = ConfigurationUtils.readOptionalMap(TYPE, processorTag, config, "pattern_definitions");
    Map<String, String> patternBank = new HashMap<>(builtinPatterns);
    if (customPatternBank != null) {
        patternBank.putAll(customPatternBank);
    }

    try {
        return new GrokProcessor(processorTag, patternBank, matchPatterns, matchField, traceMatch, ignoreMissing);
    } catch (Exception e) {
        throw newConfigurationException(TYPE, processorTag, "patterns",
            "Invalid regex pattern found in: " + matchPatterns + ". " + e.getMessage());
    }

}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:26,代码来源:GrokProcessor.java

示例3: testCreateWithTooManyProcessorTypes

import org.elasticsearch.ingest.Processor; //导入方法依赖的package包/类
public void testCreateWithTooManyProcessorTypes() throws Exception {
    Processor processor = new TestProcessor(ingestDocument -> { });
    Map<String, Processor.Factory> registry = new HashMap<>();
    registry.put("_first", (r, t, c) -> processor);
    registry.put("_second", (r, t, c) -> processor);
    ForEachProcessor.Factory forEachFactory = new ForEachProcessor.Factory();

    Map<String, Object> config = new HashMap<>();
    config.put("field", "_field");
    Map<String, Object> processorTypes = new HashMap<>();
    processorTypes.put("_first", Collections.emptyMap());
    processorTypes.put("_second", Collections.emptyMap());
    config.put("processor", processorTypes);
    Exception exception = expectThrows(ElasticsearchParseException.class, () -> forEachFactory.create(registry, null, config));
    assertThat(exception.getMessage(), equalTo("[processor] Must specify exactly one processor type"));
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:17,代码来源:ForEachProcessorFactoryTests.java

示例4: create

import org.elasticsearch.ingest.Processor; //导入方法依赖的package包/类
@Override
public AttachmentProcessor create(Map<String, Processor.Factory> registry, String processorTag,
                                  Map<String, Object> config) throws Exception {
    String field = readStringProperty(TYPE, processorTag, config, "field");
    String targetField = readStringProperty(TYPE, processorTag, config, "target_field", "attachment");
    List<String> properyNames = readOptionalList(TYPE, processorTag, config, "properties");
    int indexedChars = readIntProperty(TYPE, processorTag, config, "indexed_chars", NUMBER_OF_CHARS_INDEXED);
    boolean ignoreMissing = readBooleanProperty(TYPE, processorTag, config, "ignore_missing", false);

    final Set<Property> properties;
    if (properyNames != null) {
        properties = EnumSet.noneOf(Property.class);
        for (String fieldName : properyNames) {
            try {
                properties.add(Property.parse(fieldName));
            } catch (Exception e) {
                throw newConfigurationException(TYPE, processorTag, "properties", "illegal field option [" +
                    fieldName + "]. valid values are " + Arrays.toString(Property.values()));
            }
        }
    } else {
        properties = DEFAULT_PROPERTIES;
    }

    return new AttachmentProcessor(processorTag, field, targetField, properties, indexedChars, ignoreMissing);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:27,代码来源:AttachmentProcessor.java

示例5: create

import org.elasticsearch.ingest.Processor; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
public DateProcessor create(Map<String, Processor.Factory> registry, String processorTag,
                            Map<String, Object> config) throws Exception {
    String field = ConfigurationUtils.readStringProperty(TYPE, processorTag, config, "field");
    String targetField = ConfigurationUtils.readStringProperty(TYPE, processorTag, config, "target_field", DEFAULT_TARGET_FIELD);
    String timezoneString = ConfigurationUtils.readOptionalStringProperty(TYPE, processorTag, config, "timezone");
    DateTimeZone timezone = timezoneString == null ? DateTimeZone.UTC : DateTimeZone.forID(timezoneString);
    String localeString = ConfigurationUtils.readOptionalStringProperty(TYPE, processorTag, config, "locale");
    Locale locale = Locale.ENGLISH;
    if (localeString != null) {
        try {
            locale = (new Locale.Builder()).setLanguageTag(localeString).build();
        } catch (IllformedLocaleException e) {
            throw new IllegalArgumentException("Invalid language tag specified: " + localeString);
        }
    }
    List<String> formats = ConfigurationUtils.readList(TYPE, processorTag, config, "formats");
    return new DateProcessor(processorTag, timezone, locale, field, formats, targetField);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:20,代码来源:DateProcessor.java

示例6: create

import org.elasticsearch.ingest.Processor; //导入方法依赖的package包/类
@Override
public SortProcessor create(Map<String, Processor.Factory> registry, String processorTag,
                            Map<String, Object> config) throws Exception {
    String field = ConfigurationUtils.readStringProperty(TYPE, processorTag, config, FIELD);
    try {
        SortOrder direction = SortOrder.fromString(
            ConfigurationUtils.readStringProperty(
                TYPE,
                processorTag,
                config,
                ORDER,
                DEFAULT_ORDER));
        return new SortProcessor(processorTag, field, direction);
    } catch (IllegalArgumentException e) {
        throw ConfigurationUtils.newConfigurationException(TYPE, processorTag, ORDER, e.getMessage());
    }
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:18,代码来源:SortProcessor.java

示例7: getProcessors

import org.elasticsearch.ingest.Processor; //导入方法依赖的package包/类
@Override
public Map<String, Processor.Factory> getProcessors(Processor.Parameters parameters) {
    String key = ROSETTE_API_KEY.get(parameters.env.settings());
    String altURL = ROSETTE_API_URL.get(parameters.env.settings());
    //As this method is called at Node startup, this should ensure only one instance of the api client
    RosetteApiWrapper rosAPI = new RosetteApiWrapper(key, altURL);

    Map<String, Processor.Factory> processors = new HashMap<>();
    processors.put(LanguageProcessor.TYPE, new LanguageProcessor.Factory(rosAPI));
    processors.put(CategoriesProcessor.TYPE, new CategoriesProcessor.Factory(rosAPI));
    processors.put(SentimentProcessor.TYPE, new SentimentProcessor.Factory(rosAPI));
    processors.put(NameTranslationProcessor.TYPE, new NameTranslationProcessor.Factory(rosAPI));
    processors.put(EntitiesProcessor.TYPE, new EntitiesProcessor.Factory(rosAPI));
    return processors;
}
 
开发者ID:rosette-api,项目名称:rosette-elasticsearch-plugin,代码行数:16,代码来源:RosetteTextAnalysisPlugin.java

示例8: create

import org.elasticsearch.ingest.Processor; //导入方法依赖的package包/类
@Override
public FingerprintProcessor create(Map<String, Processor.Factory> factories, String tag, Map<String, Object> config)
    throws Exception {
    String field = readStringProperty(TYPE, tag, config, "field");
    String target_field = readStringProperty(TYPE, tag, config, "target_field", field +"-hash");
    String key = readStringProperty(TYPE, tag, config, "key", "supersecrethere");
    String method = readStringProperty(TYPE, tag, config, "method", "HmacSHA1");
    return new FingerprintProcessor(tag, field, target_field, key, method);
}
 
开发者ID:sektorcap,项目名称:ingest-fingerprint,代码行数:10,代码来源:FingerprintProcessor.java

示例9: create

import org.elasticsearch.ingest.Processor; //导入方法依赖的package包/类
@Override
public Processor create(Map<String, Processor.Factory> registry, String processorTag, Map<String, Object> config) throws Exception {
    String inputField = ConfigurationUtils.readStringProperty(TYPE, processorTag, config, "field");
    String targetField = ConfigurationUtils.readStringProperty(TYPE, processorTag, config, Parameters.TARGET_FIELD.name, Parameters.TARGET_FIELD.defaultValue);
    boolean includeOffsets = ConfigurationUtils.readBooleanProperty(TYPE, processorTag, config, Parameters.OFFSETS.name, Boolean.parseBoolean(Parameters.OFFSETS.defaultValue));
    boolean doTranslate = ConfigurationUtils.readBooleanProperty(TYPE, processorTag, config, Parameters.TRANSLATE.name, Boolean.parseBoolean(Parameters.TRANSLATE.defaultValue));
    LanguageCode translateLanguage = LanguageCode.lookupByISO639(ConfigurationUtils.readStringProperty(TYPE, processorTag, config, Parameters.TRANSLATE_LANGUAGE.name, Parameters.TRANSLATE_LANGUAGE.defaultValue));
    boolean doSentiment = ConfigurationUtils.readBooleanProperty(TYPE, processorTag, config, Parameters.SENTIMENT.name, Boolean.parseBoolean(Parameters.SENTIMENT.defaultValue));

    return new EntitiesProcessor(rosAPI, processorTag, inputField, targetField, includeOffsets, doTranslate, translateLanguage, doSentiment);
}
 
开发者ID:rosette-api,项目名称:rosette-elasticsearch-plugin,代码行数:12,代码来源:EntitiesProcessor.java

示例10: create

import org.elasticsearch.ingest.Processor; //导入方法依赖的package包/类
@Override
public RenameProcessor create(Map<String, Processor.Factory> registry, String processorTag,
                              Map<String, Object> config) throws Exception {
    String field = ConfigurationUtils.readStringProperty(TYPE, processorTag, config, "field");
    String targetField = ConfigurationUtils.readStringProperty(TYPE, processorTag, config, "target_field");
    boolean ignoreMissing = ConfigurationUtils.readBooleanProperty(TYPE, processorTag, config, "ignore_missing", false);
    return new RenameProcessor(processorTag, field, targetField, ignoreMissing);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:9,代码来源:RenameProcessor.java

示例11: create

import org.elasticsearch.ingest.Processor; //导入方法依赖的package包/类
@Override
public GsubProcessor create(Map<String, Processor.Factory> registry, String processorTag,
                            Map<String, Object> config) throws Exception {
    String field = readStringProperty(TYPE, processorTag, config, "field");
    String pattern = readStringProperty(TYPE, processorTag, config, "pattern");
    String replacement = readStringProperty(TYPE, processorTag, config, "replacement");
    Pattern searchPattern;
    try {
        searchPattern = Pattern.compile(pattern);
    } catch (Exception e) {
        throw newConfigurationException(TYPE, processorTag, "pattern", "Invalid regex pattern. " + e.getMessage());
    }
    return new GsubProcessor(processorTag, field, searchPattern, replacement);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:15,代码来源:GsubProcessor.java

示例12: create

import org.elasticsearch.ingest.Processor; //导入方法依赖的package包/类
@Override
public UserAgentProcessor create(Map<String, Processor.Factory> factories, String processorTag,
                                 Map<String, Object> config) throws Exception {
    String field = readStringProperty(TYPE, processorTag, config, "field");
    String targetField = readStringProperty(TYPE, processorTag, config, "target_field", "user_agent");
    String regexFilename = readStringProperty(TYPE, processorTag, config, "regex_file", IngestUserAgentPlugin.DEFAULT_PARSER_NAME);
    List<String> propertyNames = readOptionalList(TYPE, processorTag, config, "properties");
    boolean ignoreMissing = readBooleanProperty(TYPE, processorTag, config, "ignore_missing", false);

    UserAgentParser parser = userAgentParsers.get(regexFilename);
    if (parser == null) {
        throw newConfigurationException(TYPE, processorTag,
                "regex_file", "regex file [" + regexFilename + "] doesn't exist (has to exist at node startup)");
    }

    final Set<Property> properties;
    if (propertyNames != null) {
        properties = EnumSet.noneOf(Property.class);
        for (String fieldName : propertyNames) {
            try {
                properties.add(Property.parseProperty(fieldName));
            } catch (IllegalArgumentException e) {
                throw newConfigurationException(TYPE, processorTag, "properties", e.getMessage());
            }
        }
    } else {
        properties = EnumSet.allOf(Property.class);
    }

    return new UserAgentProcessor(processorTag, field, targetField, parser, properties, ignoreMissing);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:32,代码来源:UserAgentProcessor.java

示例13: create

import org.elasticsearch.ingest.Processor; //导入方法依赖的package包/类
@Override
public ConvertProcessor create(Map<String, Processor.Factory> registry, String processorTag,
                                 Map<String, Object> config) throws Exception {
    String field = ConfigurationUtils.readStringProperty(TYPE, processorTag, config, "field");
    String typeProperty = ConfigurationUtils.readStringProperty(TYPE, processorTag, config, "type");
    String targetField = ConfigurationUtils.readStringProperty(TYPE, processorTag, config, "target_field", field);
    Type convertType = Type.fromString(processorTag, "type", typeProperty);
    boolean ignoreMissing = ConfigurationUtils.readBooleanProperty(TYPE, processorTag, config, "ignore_missing", false);
    return new ConvertProcessor(processorTag, field, targetField, convertType, ignoreMissing);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:11,代码来源:ConvertProcessor.java

示例14: init

import org.elasticsearch.ingest.Processor; //导入方法依赖的package包/类
@Before
public void init() throws IOException {
    TestProcessor processor = new TestProcessor(ingestDocument -> {});
    CompoundProcessor pipelineCompoundProcessor = new CompoundProcessor(processor);
    Pipeline pipeline = new Pipeline(SIMULATED_PIPELINE_ID, null, null, pipelineCompoundProcessor);
    Map<String, Processor.Factory> registry =
        Collections.singletonMap("mock_processor", (factories, tag, config) -> processor);
    store = mock(PipelineStore.class);
    when(store.get(SIMULATED_PIPELINE_ID)).thenReturn(pipeline);
    when(store.getProcessorFactories()).thenReturn(registry);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:12,代码来源:SimulatePipelineRequestParsingTests.java

示例15: create

import org.elasticsearch.ingest.Processor; //导入方法依赖的package包/类
@Override
public KeyValueProcessor create(Map<String, Processor.Factory> registry, String processorTag,
                                Map<String, Object> config) throws Exception {
    String field = ConfigurationUtils.readStringProperty(TYPE, processorTag, config, "field");
    String targetField = ConfigurationUtils.readOptionalStringProperty(TYPE, processorTag, config, "target_field");
    String fieldSplit = ConfigurationUtils.readStringProperty(TYPE, processorTag, config, "field_split");
    String valueSplit = ConfigurationUtils.readStringProperty(TYPE, processorTag, config, "value_split");
    List<String> includeKeys = ConfigurationUtils.readOptionalList(TYPE, processorTag, config, "include_keys");
    if (includeKeys != null) {
        includeKeys = Collections.unmodifiableList(includeKeys);
    }
    boolean ignoreMissing = ConfigurationUtils.readBooleanProperty(TYPE, processorTag, config, "ignore_missing", false);
    return new KeyValueProcessor(processorTag, field, fieldSplit, valueSplit, includeKeys, targetField, ignoreMissing);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:15,代码来源:KeyValueProcessor.java


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