org.apache.solr.schema

## Class RandomSortField

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

-     public class RandomSortField
      extends FieldType

  Utility Field used for random sorting. It should not be passed a value.

  This random sorting implementation uses the dynamic field name to set the random 'seed'. To get random sorting order, you need to use a random dynamic field name. For example, you will need to configure schema.xml:

       <types>
        ...
        <fieldType name="random" class="solr.RandomSortField" />
        ...
       </types>
       <fields>
        ...
        <dynamicField name="random*" type="random" indexed="true" stored="false"/>
        ...
       </fields>

  Examples of queries:
  - http://localhost:8983/solr/select/?q=*:*&fl=name&sort=random_1234%20desc
  - http://localhost:8983/solr/select/?q=*:*&fl=name&sort=random_2345%20desc
  - http://localhost:8983/solr/select/?q=*:*&fl=name&sort=random_ABDC%20desc
  - http://localhost:8983/solr/select/?q=*:*&fl=name&sort=random_21%20desc
  Note that multiple calls to the same URL will return the same sorting order.
  Since:
    solr 1.3

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `RandomSortField.RandomValueSource`

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

  - ### 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.
    `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 qparser)` called to get the default value source (normally, from the Lucene FieldCache.)
    `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, getFieldQuery, getIndexAnalyzer, getIndexOptions, getNamedPropertyValues, getNonFieldPropertyArgs, getNumericType, getPostingsFormat, getPrefixQuery, getQueryAnalyzer, getRangeQuery, getRewriteMethod, getSimilarity, getSimilarityFactory, getSingleValueSource, getStringSort, getTypeName, 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, toExternal, toInternal, toNativeType, toObject, 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

    - #### RandomSortField

          public RandomSortField()

  - ### Method Detail

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

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

    - #### getValueSource

          public ValueSource getValueSource(SchemaField field,
                                            QParser qparser)

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

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

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