org.apache.solr.schema

## Class BinaryField

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

-     public class BinaryField
      extends FieldType

- - ### Nested Class Summary

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

      `FieldType.DefaultAnalyzer, FieldType.MultiValueSelector`

  - ### Field Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `IndexableField` | `createField(SchemaField field, Object val, float boost)` Used for adding a document when a field needs to be created from a type and a string.
    `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.
    `String` | `toExternal(IndexableField f)` Convert the stored-field format to an external (string, human readable) value
    `ByteBuffer` | `toObject(IndexableField f)` Convert the stored-field format to an external object.
    `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, createFields, getAnalyzerProperties, getClassArg, getDocValuesFormat, getFieldQuery, getIndexAnalyzer, getIndexOptions, getNamedPropertyValues, getNonFieldPropertyArgs, getNumericType, getPostingsFormat, getPrefixQuery, getQueryAnalyzer, getRangeQuery, getRewriteMethod, getSimilarity, getSimilarityFactory, getSingleValueSource, getStringSort, getTypeName, getValueSource, hasProperty, indexedToReadable, indexedToReadable, init, isExplicitAnalyzer, isExplicitQueryAnalyzer, isMultiValued, isPolyField, isTokenized, marshalBase64SortValue, marshalSortValue, marshalStringSortValue, multiValuedFieldCache, readableToIndexed, readableToIndexed, restrictProps, setArgs, setIndexAnalyzer, setIsExplicitAnalyzer, setIsExplicitQueryAnalyzer, setQueryAnalyzer, setSimilarity, storedToIndexed, storedToReadable, supportsAnalyzers, toInternal, toNativeType, toObject, toString, unmarshalBase64SortValue, unmarshalSortValue, unmarshalStringSortValue, useDocValuesAsStored`

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

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

- - ### Constructor Detail

    - #### BinaryField

          public BinaryField()

  - ### Method Detail

    - #### 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`

    - #### 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.
      Specified by:
        `getSortField` in class `FieldType`
      See Also:
        `SchemaField.checkSortability()`

    - #### 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)

    - #### toExternal

          public String toExternal(IndexableField f)

      Description copied from class: `FieldType`
      Convert the stored-field format to an external (string, human readable) value
      Overrides:
        `toExternal` in class `FieldType`
      See Also:
        `FieldType.toInternal(java.lang.String)`

    - #### toObject

          public ByteBuffer toObject(IndexableField f)

      Description copied from class: `FieldType`
      Convert the stored-field format to an external object.
      Overrides:
        `toObject` in class `FieldType`
      See Also:
        `FieldType.toInternal(java.lang.String)`

    - #### createField

          public IndexableField createField(SchemaField field,
                                            Object val,
                                            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)`

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