org.apache.solr.schema
Class UUIDField

java.lang.Object
  extended by org.apache.solr.schema.FieldProperties
      extended by org.apache.solr.schema.FieldType
          extended by org.apache.solr.schema.PrimitiveFieldType
              extended by org.apache.solr.schema.StrField
                  extended by 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 recomended instead.

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

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.solr.schema.FieldType
FieldType.DefaultAnalyzer
 
Field Summary
 
Fields inherited from class org.apache.solr.schema.FieldType
analyzer, ANALYZER, args, CHAR_FILTER, CHAR_FILTERS, CLASS_NAME, docValuesFormat, falseProperties, FILTER, FILTERS, INDEX, INDEX_ANALYZER, log, MULTI_TERM, MULTI_TERM_ANALYZER, POLY_FIELD_SEPARATOR, postingsFormat, properties, QUERY, QUERY_ANALYZER, queryAnalyzer, 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_TERMPOSITIONS, STORE_TERMVECTORS, STORED, TOKENIZED
 
Constructor Summary
UUIDField()
           
 
Method Summary
 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, getValueSource, toObject
 
Methods inherited from class org.apache.solr.schema.FieldType
createField, createField, getAnalyzer, getAnalyzerProperties, getClassArg, getDocValuesFormat, getFieldQuery, getIndexOptions, getNamedPropertyValues, getNonFieldPropertyArgs, getNumericType, getPostingsFormat, getQueryAnalyzer, getRangeQuery, getRewriteMethod, getSimilarity, getSimilarityFactory, getStringSort, getTypeName, hasProperty, indexedToReadable, indexedToReadable, isExplicitAnalyzer, isExplicitQueryAnalyzer, isMultiValued, isPolyField, isTokenized, multiValuedFieldCache, readableToIndexed, readableToIndexed, restrictProps, setAnalyzer, setArgs, setIsExplicitAnalyzer, setIsExplicitQueryAnalyzer, setQueryAnalyzer, setSimilarity, storedToIndexed, storedToReadable, toExternal, toString
 
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-2013 Apache Software Foundation. All Rights Reserved.