Example usage for org.apache.lucene.analysis AnalyzerWrapper AnalyzerWrapper

List of usage examples for org.apache.lucene.analysis AnalyzerWrapper AnalyzerWrapper

Introduction

In this page you can find the example usage for org.apache.lucene.analysis AnalyzerWrapper AnalyzerWrapper.

Prototype

AnalyzerWrapper

Source Link

Usage

From source file:org.apache.blur.analysis.BaseFieldManager.java

License:Apache License

public BaseFieldManager(String fieldLessField, final Analyzer defaultAnalyzerForQuerying, boolean strict,
        String defaultMissingFieldType, boolean defaultMissingFieldLessIndexing,
        Map<String, String> defaultMissingFieldProps, Configuration configuration) throws IOException {
    registerType(TextFieldTypeDefinition.class);
    registerType(StringFieldTypeDefinition.class);
    registerType(StoredFieldTypeDefinition.class);
    registerType(IntFieldTypeDefinition.class);
    registerType(LongFieldTypeDefinition.class);
    registerType(DoubleFieldTypeDefinition.class);
    registerType(FloatFieldTypeDefinition.class);
    registerType(DateFieldTypeDefinition.class);
    registerType(SpatialPointVectorStrategyFieldTypeDefinition.class);
    registerType(SpatialTermQueryPrefixTreeStrategyFieldTypeDefinition.class);
    registerType(SpatialRecursivePrefixTreeStrategyFieldTypeDefinition.class);
    registerType(AclReadFieldTypeDefinition.class);
    registerType(AclDiscoverFieldTypeDefinition.class);
    _fieldLessField = fieldLessField;// w  ww  .  j  av  a  2  s.  c  o m
    _strict = strict;
    _defaultMissingFieldLessIndexing = defaultMissingFieldLessIndexing;
    _defaultMissingFieldType = defaultMissingFieldType;
    _defaultMissingFieldProps = defaultMissingFieldProps;
    _configuration = configuration;
    _fieldLessFieldTypeDefinition = new FieldLessFieldTypeDefinition();

    _baseAnalyzerForQuery = new AnalyzerWrapper() {
        @Override
        protected Analyzer getWrappedAnalyzer(String fieldName) {
            if (isBuiltInField(fieldName)) {
                return _keywordAnalyzer;
            }
            FieldTypeDefinition fieldTypeDefinition;
            try {
                fieldTypeDefinition = getFieldTypeDefinition(fieldName);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
            if (fieldTypeDefinition == null) {
                return defaultAnalyzerForQuerying;
            }
            return fieldTypeDefinition.getAnalyzerForQuery(fieldName);
        }

        @Override
        protected TokenStreamComponents wrapComponents(String fieldName, TokenStreamComponents components) {
            return components;
        }
    };

    _baseAnalyzerForIndex = new AnalyzerWrapper() {
        @Override
        protected Analyzer getWrappedAnalyzer(String fieldName) {
            FieldTypeDefinition fieldTypeDefinition;
            try {
                fieldTypeDefinition = getFieldTypeDefinition(fieldName);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
            if (fieldTypeDefinition == null) {
                throw new RuntimeException("Field [" + fieldName + "] not found.");
            }
            return fieldTypeDefinition.getAnalyzerForIndex(fieldName);
        }

        @Override
        protected TokenStreamComponents wrapComponents(String fieldName, TokenStreamComponents components) {
            return components;
        }
    };
}