org.apache.solr.schema

## Class ICUCollationField

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

-     public class ICUCollationField
      extends FieldType

  Field for collated sort keys. These can be used for locale-sensitive sort and range queries.

  This field can be created in two ways:

  - Based upon a system collator associated with a Locale.
  - Based upon a tailored ruleset.

  Using a System collator:

  - locale: RFC 3066 locale ID (mandatory)
  - strength: 'primary','secondary','tertiary', 'quaternary', or 'identical' (optional)
  - decomposition: 'no', or 'canonical' (optional)

  Using a Tailored ruleset:

  - custom: UTF-8 text file containing rules supported by RuleBasedCollator (mandatory)
  - strength: 'primary','secondary','tertiary', 'quaternary', or 'identical' (optional)
  - decomposition: 'no' or 'canonical' (optional)

  Expert options:

  - alternate: 'shifted' or 'non-ignorable'. Can be used to ignore punctuation/whitespace.
  - caseLevel: 'true' or 'false'. Useful with strength=primary to ignore accents but not case.
  - caseFirst: 'lower' or 'upper'. Useful to control which is sorted first when case is not ignored.
  - numeric: 'true' or 'false'. Digits are sorted according to numeric value, e.g. foobar-9 sorts before foobar-10
  - variableTop: single character or contraction. Controls what is variable for 'alternate'
  See Also:
    `Collator`, `ULocale`, `RuleBasedCollator`

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `checkSchemaField(SchemaField field)`
    `List<IndexableField>` | `createFields(SchemaField field, Object value, float boost)`
    `Analyzer` | `getIndexAnalyzer()`
    `Analyzer` | `getQueryAnalyzer()`
    `Query` | `getRangeQuery(QParser parser, SchemaField field, String part1, String part2, boolean minInclusive, boolean maxInclusive)`
    `SortField` | `getSortField(SchemaField field, boolean top)`
    `UninvertingReader.Type` | `getUninversionType(SchemaField sf)`
    `protected void` | `init(IndexSchema schema, Map<String,String> args)`
    `Object` | `marshalSortValue(Object value)`
    `Object` | `unmarshalSortValue(Object value)`
    `void` | `write(TextResponseWriter writer, String name, IndexableField f)`

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

      `createField, createField, getAnalyzerProperties, getClassArg, getDocValuesFormat, getFieldQuery, getIndexOptions, getNamedPropertyValues, getNonFieldPropertyArgs, getNumericType, getPostingsFormat, getPrefixQuery, getRewriteMethod, getSimilarity, getSimilarityFactory, getSingleValueSource, getStringSort, getTypeName, getValueSource, hasProperty, indexedToReadable, indexedToReadable, isExplicitAnalyzer, isExplicitQueryAnalyzer, isMultiValued, isPolyField, isTokenized, marshalBase64SortValue, marshalStringSortValue, multiValuedFieldCache, readableToIndexed, readableToIndexed, restrictProps, setArgs, setIndexAnalyzer, setIsExplicitAnalyzer, setIsExplicitQueryAnalyzer, setQueryAnalyzer, setSimilarity, storedToIndexed, storedToReadable, supportsAnalyzers, toExternal, toInternal, toNativeType, toObject, toObject, toString, unmarshalBase64SortValue, unmarshalStringSortValue, useDocValuesAsStored`

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

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

- - ### Constructor Detail

    - #### ICUCollationField

          public ICUCollationField()

  - ### Method Detail

    - #### init

          protected void init(IndexSchema schema,
                              Map<String,String> args)

      Overrides:
        `init` in class `FieldType`

    - #### write

          public void write(TextResponseWriter writer,
                            String name,
                            IndexableField f)
                     throws IOException

      Specified by:
        `write` in class `FieldType`
      Throws:
        `IOException`

    - #### getSortField

          public SortField getSortField(SchemaField field,
                                        boolean top)

      Specified by:
        `getSortField` in class `FieldType`

    - #### getUninversionType

          public UninvertingReader.Type getUninversionType(SchemaField sf)

      Specified by:
        `getUninversionType` in class `FieldType`

    - #### getIndexAnalyzer

          public Analyzer getIndexAnalyzer()

      Overrides:
        `getIndexAnalyzer` in class `FieldType`

    - #### getQueryAnalyzer

          public Analyzer getQueryAnalyzer()

      Overrides:
        `getQueryAnalyzer` in class `FieldType`

    - #### getRangeQuery

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

      Overrides:
        `getRangeQuery` in class `FieldType`

    - #### checkSchemaField

          public void checkSchemaField(SchemaField field)

      Overrides:
        `checkSchemaField` in class `FieldType`

    - #### createFields

          public List<IndexableField> createFields(SchemaField field,
                                                   Object value,
                                                   float boost)

      Overrides:
        `createFields` in class `FieldType`

    - #### marshalSortValue

          public Object marshalSortValue(Object value)

      Overrides:
        `marshalSortValue` in class `FieldType`

    - #### unmarshalSortValue

          public Object unmarshalSortValue(Object value)

      Overrides:
        `unmarshalSortValue` in class `FieldType`

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