org.apache.solr.schema

## Class UUIDField

- java.lang.Object
- - org.apache.solr.schema.FieldProperties
  - - org.apache.solr.schema.FieldType
    - - org.apache.solr.schema.PrimitiveFieldType
      - - org.apache.solr.schema.StrField
        - - org.apache.solr.schema.UUIDField

-     public class UUIDField
      extends StrField

  This FieldType accepts UUID string values, as well as the special value of "NEW" which triggers generation of a new random UUID.

  NOTE: Configuring a `UUIDField` instance with a default value of "`NEW`" is not advisable for most users when using SolrCloud (and not possible if the UUID value is configured as the unique key field) since the result will be that each replica of each document will get a unique UUID value. Using `UUIDUpdateProcessorFactory` to generate UUID values when documents are added is recommended instead.

  See Also:
    `UUID.toString()`, `UUID.randomUUID()`

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `SortField` | `getSortField(SchemaField field, boolean reverse)` Returns the SortField instance that should be used to sort fields of this type.
    `protected void` | `init(IndexSchema schema, Map<String,String> args)` subclasses should initialize themselves with the args provided and remove valid arguments.
    `String` | `toInternal(String val)` Generates a UUID if val is either null, empty or "NEW".
    `String` | `toInternal(UUID uuid)`
    `UUID` | `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.StrField

      `checkSchemaField, createFields, getUninversionType, getValueSource, marshalSortValue, toObject, unmarshalSortValue`

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

      `createField, createField, getAnalyzerProperties, getClassArg, getDocValuesFormat, getFieldQuery, getIndexAnalyzer, getIndexOptions, getNamedPropertyValues, getNonFieldPropertyArgs, getNumericType, getPostingsFormat, getPrefixQuery, getQueryAnalyzer, getRangeQuery, 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, supportsAnalyzers, toExternal, toNativeType, toString, unmarshalBase64SortValue, unmarshalStringSortValue, useDocValuesAsStored`

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

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

- - ### Constructor Detail

    - #### UUIDField

          public UUIDField()

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

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

    - #### 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 `StrField`
      Throws:
        `IOException`

    - #### toInternal

          public String toInternal(String val)

      Generates a UUID if val is either null, empty or "NEW". Otherwise it behaves much like a StrField but checks that the value given is indeed a valid UUID.
      Overrides:
        `toInternal` in class `FieldType`
      Parameters:
        `val` - The value of the field
      See Also:
        `FieldType.toInternal(java.lang.String)`

    - #### toInternal

          public String toInternal(UUID uuid)

    - #### toObject

          public UUID 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)`

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