org.apache.solr.schema

## Class TextField

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

- Direct Known Subclasses:
    PreAnalyzedField

      public class TextField
      extends FieldType

  `TextField` is the basic type for configurable text analysis. Analyzers for field types using this implementation should be defined in the schema.

- - ### Nested Class Summary

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

      `FieldType.DefaultAnalyzer, FieldType.MultiValueSelector`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `autoGeneratePhraseQueries`
    `protected Analyzer` | `multiTermAnalyzer` Analyzer set by schema for text types to use when searching fields of this type, subclasses can set analyzer themselves or override getIndexAnalyzer() This analyzer is used to process wildcard, prefix, regex and other multiterm queries.

    - ### 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
    `TextField()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static BytesRef` | `analyzeMultiTerm(String field, String part, Analyzer analyzerIn)`
    `boolean` | `getAutoGeneratePhraseQueries()`
    `Query` | `getFieldQuery(QParser parser, SchemaField field, String externalVal)` Returns a Query instance for doing searches against a field.
    `Analyzer` | `getMultiTermAnalyzer()` Returns the Analyzer to be used when searching fields of this type when mult-term queries are specified.
    `Query` | `getRangeQuery(QParser parser, SchemaField field, String part1, String part2, boolean minInclusive, boolean maxInclusive)` Returns a Query instance for doing range searches on this field type.
    `SortField` | `getSortField(SchemaField field, boolean reverse)` 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.)
    `protected void` | `init(IndexSchema schema, Map<String,String> args)` subclasses should initialize themselves with the args provided and remove valid arguments.
    `boolean` | `isExplicitMultiTermAnalyzer()`
    `Object` | `marshalSortValue(Object value)` Convert a value used by the FieldComparator for this FieldType's SortField into a marshalable value for distributed sorting.
    `void` | `setIsExplicitMultiTermAnalyzer(boolean isExplicitMultiTermAnalyzer)`
    `void` | `setMultiTermAnalyzer(Analyzer analyzer)`
    `protected boolean` | `supportsAnalyzers()` Returns true if this type supports index and query analyzers, false otherwise.
    `Object` | `toObject(SchemaField sf, BytesRef term)`
    `Object` | `unmarshalSortValue(Object value)` Convert a value marshaled via `FieldType.marshalSortValue(java.lang.Object)` back into a value usable by the FieldComparator for this FieldType's SortField
    `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.FieldType

      `checkSchemaField, createField, createField, createFields, getAnalyzerProperties, getClassArg, getDocValuesFormat, getIndexAnalyzer, getIndexOptions, getNamedPropertyValues, getNonFieldPropertyArgs, getNumericType, getPostingsFormat, getPrefixQuery, getQueryAnalyzer, 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

    - #### autoGeneratePhraseQueries

          protected boolean autoGeneratePhraseQueries

    - #### multiTermAnalyzer

          protected Analyzer multiTermAnalyzer

      Analyzer set by schema for text types to use when searching fields of this type, subclasses can set analyzer themselves or override getIndexAnalyzer() This analyzer is used to process wildcard, prefix, regex and other multiterm queries. It assembles a list of tokenizer +filters that "make sense" for this, primarily accent folding and lowercasing filters, and charfilters.
      See Also:
        `getMultiTermAnalyzer()`, `setMultiTermAnalyzer(org.apache.lucene.analysis.Analyzer)`

  - ### Constructor Detail

    - #### TextField

          public TextField()

  - ### Method Detail

    - #### init

          protected 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 `FieldType`

    - #### getMultiTermAnalyzer

          public Analyzer getMultiTermAnalyzer()

      Returns the Analyzer to be used when searching fields of this type when mult-term queries are specified.

      This method may be called many times, at any time.

      See Also:
        `FieldType.getIndexAnalyzer()`

    - #### setMultiTermAnalyzer

          public void setMultiTermAnalyzer(Analyzer analyzer)

    - #### getAutoGeneratePhraseQueries

          public boolean getAutoGeneratePhraseQueries()

    - #### getSortField

          public SortField getSortField(SchemaField field,
                                        boolean reverse)

      Description copied from class: `FieldType`
      Returns the SortField instance that should be used to sort fields of this type.
      Specified by:
        `getSortField` in class `FieldType`
      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 `FieldType`

    - #### 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.
      Specified by:
        `getUninversionType` in class `FieldType`
      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
      Specified by:
        `write` in class `FieldType`
      Throws:
        `IOException`

    - #### getFieldQuery

          public Query getFieldQuery(QParser parser,
                                     SchemaField field,
                                     String externalVal)

      Description copied from class: `FieldType`
      Returns a Query instance for doing searches against a field.
      Overrides:
        `getFieldQuery` in class `FieldType`
      Parameters:
        `parser` - The `QParser` calling the method
        `field` - The `SchemaField` of the field to search
        `externalVal` - The String representation of the value to search
      Returns:
        The `Query` instance. This implementation returns a `TermQuery` but overriding queries may not

    - #### toObject

          public Object toObject(SchemaField sf,
                                 BytesRef term)

      Overrides:
        `toObject` in class `FieldType`

    - #### supportsAnalyzers

          protected boolean supportsAnalyzers()

      Description copied from class: `FieldType`
      Returns true if this type supports index and query analyzers, false otherwise.
      Overrides:
        `supportsAnalyzers` in class `FieldType`

    - #### getRangeQuery

          public Query getRangeQuery(QParser parser,
                                     SchemaField field,
                                     String part1,
                                     String part2,
                                     boolean minInclusive,
                                     boolean maxInclusive)

      Description copied from class: `FieldType`
      Returns a Query instance for doing range searches on this field type. `SolrQueryParser` currently passes part1 and part2 as null if they are '*' respectively. minInclusive and maxInclusive are both true currently by SolrQueryParser but that may change in the future. Also, other QueryParser implementations may have different semantics.

      Sub-classes should override this method to provide their own range query implementation. They should strive to handle nulls in part1 and/or part2 as well as unequal minInclusive and maxInclusive parameters gracefully.

      Overrides:
        `getRangeQuery` in class `FieldType`
      Parameters:
        `parser` - the `QParser` calling the method
        `field` - the schema field
        `part1` - the lower boundary of the range, nulls are allowed.
        `part2` - the upper boundary of the range, nulls are allowed
        `minInclusive` - whether the minimum of the range is inclusive or not
        `maxInclusive` - whether the maximum of the range is inclusive or not
      Returns:
        a Query instance to perform range search according to given parameters

    - #### analyzeMultiTerm

          public static BytesRef analyzeMultiTerm(String field,
                                                  String part,
                                                  Analyzer analyzerIn)

    - #### setIsExplicitMultiTermAnalyzer

          public void setIsExplicitMultiTermAnalyzer(boolean isExplicitMultiTermAnalyzer)

    - #### isExplicitMultiTermAnalyzer

          public boolean isExplicitMultiTermAnalyzer()

    - #### marshalSortValue

          public Object marshalSortValue(Object value)

      Description copied from class: `FieldType`
      Convert a value used by the FieldComparator for this FieldType's SortField into a marshalable value for distributed sorting.
      Overrides:
        `marshalSortValue` in class `FieldType`

    - #### unmarshalSortValue

          public Object unmarshalSortValue(Object value)

      Description copied from class: `FieldType`
      Convert a value marshaled via `FieldType.marshalSortValue(java.lang.Object)` back into a value usable by the FieldComparator for this FieldType's SortField
      Overrides:
        `unmarshalSortValue` in class `FieldType`

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