org.apache.solr.schema

## Class PreAnalyzedField

- java.lang.Object
- - org.apache.solr.schema.FieldProperties
  - - org.apache.solr.schema.FieldType
    - - org.apache.solr.schema.TextField
      - - org.apache.solr.schema.PreAnalyzedField

-     public class PreAnalyzedField
      extends TextField

  Pre-analyzed field type provides a way to index a serialized token stream, optionally with an independent stored value of a field.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `PreAnalyzedField.ParseResult` This is a simple holder of a stored part and the collected states (tokens with attributes).
    `static interface` | `PreAnalyzedField.PreAnalyzedParser` Parse the input and return the stored part and the tokens with attributes.

    - ### Nested classes/interfaces inherited from class org.apache.solr.schema.FieldType

      `FieldType.DefaultAnalyzer, FieldType.MultiValueSelector`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `PARSER_IMPL` Init argument name.

    - ### Fields inherited from class org.apache.solr.schema.TextField

      `autoGeneratePhraseQueries, multiTermAnalyzer`

    - ### Fields inherited from class org.apache.solr.schema.FieldType

      `ANALYZER, args, CHAR_FILTER, CHAR_FILTERS, CLASS_NAME, docValuesFormat, falseProperties, FILTER, FILTERS, INDEX, INDEX_ANALYZER, MULTI_TERM, MULTI_TERM_ANALYZER, POLY_FIELD_SEPARATOR, postingsFormat, properties, QUERY, QUERY_ANALYZER, similarity, SIMILARITY, similarityFactory, TOKENIZER, trueProperties, TYPE, TYPE_NAME, typeName`

    - ### Fields inherited from class org.apache.solr.schema.FieldProperties

      `BINARY, DOC_VALUES, INDEXED, MULTIVALUED, OMIT_NORMS, OMIT_POSITIONS, OMIT_TF_POSITIONS, REQUIRED, SORT_MISSING_FIRST, SORT_MISSING_LAST, STORE_OFFSETS, STORE_TERMOFFSETS, STORE_TERMPAYLOADS, STORE_TERMPOSITIONS, STORE_TERMVECTORS, STORED, TOKENIZED, USE_DOCVALUES_AS_STORED`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PreAnalyzedField()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `IndexableField` | `createField(SchemaField field, Object value, float boost)` Used for adding a document when a field needs to be created from a type and a string.
    `static FieldType` | `createFieldType(SchemaField field)` Utility method to create a `FieldType` based on the `SchemaField`
    `IndexableField` | `fromString(SchemaField field, String val, float boost)`
    `Analyzer` | `getIndexAnalyzer()` Overridden to return an analyzer consisting of a `PreAnalyzedTokenizer`.
    `Analyzer` | `getQueryAnalyzer()` Returns the query analyzer defined via the schema, unless there is none, in which case the index-time pre-analyzer is returned.
    `SortField` | `getSortField(SchemaField field, boolean top)` Returns the SortField instance that should be used to sort fields of this type.
    `UninvertingReader.Type` | `getUninversionType(SchemaField sf)` DocValues is not enabled for a field, but it's indexed, docvalues can be constructed on the fly (uninverted, aka fieldcache) on the first request to sort, facet, etc.
    `ValueSource` | `getValueSource(SchemaField field, QParser parser)` called to get the default value source (normally, from the Lucene FieldCache.)
    `void` | `init(IndexSchema schema, Map<String,String> args)` subclasses should initialize themselves with the args provided and remove valid arguments.
    `String` | `toFormattedString(Field f)` Utility method to convert a field to a string that is parse-able by this class.
    `void` | `write(TextResponseWriter writer, String name, IndexableField f)` calls back to TextResponseWriter to write the field value

    - ### Methods inherited from class org.apache.solr.schema.TextField

      `analyzeMultiTerm, getAutoGeneratePhraseQueries, getFieldQuery, getMultiTermAnalyzer, getRangeQuery, isExplicitMultiTermAnalyzer, marshalSortValue, setIsExplicitMultiTermAnalyzer, setMultiTermAnalyzer, supportsAnalyzers, toObject, unmarshalSortValue`

    - ### Methods inherited from class org.apache.solr.schema.FieldType

      `checkSchemaField, createField, createFields, getAnalyzerProperties, getClassArg, getDocValuesFormat, getIndexOptions, getNamedPropertyValues, getNonFieldPropertyArgs, getNumericType, getPostingsFormat, getPrefixQuery, getRewriteMethod, getSimilarity, getSimilarityFactory, getSingleValueSource, getStringSort, getTypeName, hasProperty, indexedToReadable, indexedToReadable, isExplicitAnalyzer, isExplicitQueryAnalyzer, isMultiValued, isPolyField, isTokenized, marshalBase64SortValue, marshalStringSortValue, multiValuedFieldCache, readableToIndexed, readableToIndexed, restrictProps, setArgs, setIndexAnalyzer, setIsExplicitAnalyzer, setIsExplicitQueryAnalyzer, setQueryAnalyzer, setSimilarity, storedToIndexed, storedToReadable, toExternal, toInternal, toNativeType, toObject, toString, unmarshalBase64SortValue, unmarshalStringSortValue, useDocValuesAsStored`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### PARSER_IMPL

          public static final String PARSER_IMPL

      Init argument name. Value is a fully-qualified class name of the parser that implements `PreAnalyzedField.PreAnalyzedParser`.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### PreAnalyzedField

          public PreAnalyzedField()

  - ### Method Detail

    - #### init

          public void init(IndexSchema schema,
                           Map<String,String> args)

      Description copied from class: `FieldType`
      subclasses should initialize themselves with the args provided and remove valid arguments. leftover arguments will cause an exception. Common boolean properties have already been handled.
      Overrides:
        `init` in class `TextField`

    - #### getIndexAnalyzer

          public Analyzer getIndexAnalyzer()

      Overridden to return an analyzer consisting of a `PreAnalyzedTokenizer`. NOTE: If an index analyzer is specified in the schema, it will be ignored.
      Overrides:
        `getIndexAnalyzer` in class `FieldType`
      See Also:
        `FieldType.getQueryAnalyzer()`

    - #### getQueryAnalyzer

          public Analyzer getQueryAnalyzer()

      Returns the query analyzer defined via the schema, unless there is none, in which case the index-time pre-analyzer is returned. Note that if the schema specifies an index-time analyzer via either `<analyzer>` or `<analyzer type="index">`, but no query-time analyzer, the query analyzer returned here will be the index-time analyzer specified in the schema rather than the pre-analyzer.
      Overrides:
        `getQueryAnalyzer` in class `FieldType`
      See Also:
        `FieldType.getIndexAnalyzer()`

    - #### createField

          public IndexableField createField(SchemaField field,
                                            Object value,
                                            float boost)

      Description copied from class: `FieldType`
      Used for adding a document when a field needs to be created from a type and a string.

      By default, the indexed value is the same as the stored value (taken from toInternal()). Having a different representation for external, internal, and indexed would present quite a few problems given the current Lucene architecture. An analyzer for adding docs would need to translate internal->indexed while an analyzer for querying would need to translate external->indexed.

      The only other alternative to having internal==indexed would be to have internal==external. In this case, toInternal should convert to the indexed representation, toExternal() should do nothing, and createField() should *not* call toInternal, but use the external value and set tokenized=true to get Lucene to convert to the internal(indexed) form.

      :TODO: clean up and clarify this explanation.
      Overrides:
        `createField` in class `FieldType`
      See Also:
        `FieldType.toInternal(java.lang.String)`

    - #### getSortField

          public SortField getSortField(SchemaField field,
                                        boolean top)

      Description copied from class: `FieldType`
      Returns the SortField instance that should be used to sort fields of this type.
      Overrides:
        `getSortField` in class `TextField`
      See Also:
        `SchemaField.checkSortability()`

    - #### getValueSource

          public ValueSource getValueSource(SchemaField field,
                                            QParser parser)

      Description copied from class: `FieldType`
      called to get the default value source (normally, from the Lucene FieldCache.)
      Overrides:
        `getValueSource` in class `TextField`

    - #### getUninversionType

          public UninvertingReader.Type getUninversionType(SchemaField sf)

      Description copied from class: `FieldType`
      DocValues is not enabled for a field, but it's indexed, docvalues can be constructed on the fly (uninverted, aka fieldcache) on the first request to sort, facet, etc. This specifies the structure to use.
      Overrides:
        `getUninversionType` in class `TextField`
      Parameters:
        `sf` - field instance
      Returns:
        type to uninvert, or `null` (to disallow uninversion for the field)

    - #### write

          public void write(TextResponseWriter writer,
                            String name,
                            IndexableField f)
                     throws IOException

      Description copied from class: `FieldType`
      calls back to TextResponseWriter to write the field value
      Overrides:
        `write` in class `TextField`
      Throws:
        `IOException`

    - #### toFormattedString

          public String toFormattedString(Field f)
                                   throws IOException

      Utility method to convert a field to a string that is parse-able by this class.
      Parameters:
        `f` - field to convert
      Returns:
        string that is compatible with the serialization format
      Throws:
        `IOException` - If there is a low-level I/O error.

    - #### createFieldType

          public static FieldType createFieldType(SchemaField field)

      Utility method to create a `FieldType` based on the `SchemaField`

    - #### fromString

          public IndexableField fromString(SchemaField field,
                                           String val,
                                           float boost)
                                    throws Exception

      Throws:
        `Exception`

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.