Understanding schema field types
Reference of CQL data type to Solr field type mappings and compatibility between them.
DataStax Enterprise Search index schemas define the CQL to Solr type mapping. A field type
definition is required to parse data from a CQL column into the corresponding Solr field in the
index. The fieldType
definitions support processing instructions in the
analyzer section.
CQL data type | Solr field type | docValues |
---|---|---|
ascii | AsciiStrField | false |
bigint | TrieLongField | true |
blob | BinaryField | not supported |
boolean | BoolField | false |
date | SimpleDateField | not supported |
decimal | DecimalStrField | false |
double | TrieDoubleField | true |
float | TrieFloatField | true |
inet | InetField | false |
int | TrieIntField | true |
smallint | TrieIntField | true |
text | TextField | false |
time | TimeField | true |
timestamp | TrieDateField | true |
timeuuid | TimeUUIDField | true |
tinyint | TrieIntField | true |
uuid | UUIDField | true |
varchar | TextField | not supported |
varint | VarIntStrField | false |
tuple/user defined type (UDT) | TupleField | false |
CQL data type compatibility with Solr field type classes
DSE Search index schema defines the Solr field type of each indexed CQL column. The default mapping provides support for the most common use cases. To perform more advanced searches or a different type of analysis on a column, use the following compatibility matrix to determine the supported CQL to Solr type mappings.
CQL data type | Solr field type | DSE type | Description |
---|---|---|---|
ascii | AsciiStrField | AsciiType | Indexed as a standard Solr StrField. |
blob | BinaryField | BytesType | Binary data. |
boolean | BoolField | BooleanType | True (1, t, or T) or False (not 1, t, or T) |
DateRangeType | DateRangeField | DateRangeType | Point-in-time with millisecond precision with support for date ranges. See Using date ranges in solr_query. |
decimal | DecimalStrField | DecimalType | Indexed as a standard Solr StrField. |
text, varchar | EnumField | UTF8Type | A closed set with a pre-determined sort order. |
text, varchar | ExternalFileField | UTF8Type | Values from disk file. |
text, varchar | GeoHashField | UTF8Type | Hash of coordinate pair (latitude,longitude) stored as a string. |
inet | InetField | InetAddressType | InetField is implemented and indexed as a standard Solr StrField. |
text, varchar | LatLonType | UTF8Type | Latitude/Longitude 2-D point, latitude first. |
text, varchar | LowerCaseStrField | UTF8Type | Recommended method for case-insensitive text search, faceting, grouping, and sorting. Sets field values as lowercase and stores them as lowercase in docValues. See Using LowerCaseStrField with search indexes. |
text, varchar | PointType | UTF8Type | Coordinate values, two per point for spatial search. |
text, varchar | RandomSortField | UTF8Type | Dynamic field in random order. |
date | SimpleDateField | SimpleDateType | TrieDateField holding a CQL date. |
PointType | SpatialRecursivePrefixTreeFieldType | PointType | Spatial field type for a point geospatial context. |
text, varchar | SpatialRecursivePrefixTreeFieldType | UTF8Type | Spatial field type for a geospatial context. |
text, varchar | StrField | UTF8Type | String (UTF-8 encoded string or Unicode). |
text, varchar | TextField | UTF8Type | Text, usually multiple words or tokens. |
time | TimeField | TimeType | A TrieLongField holding a CQL time. |
timeuuid | TimeUUIDField | TimeUUIDType | Type 1 Universally Unique Identifier (UUID). |
timestamp | TrieDateField | DateType | Date field for Lucene TrieRange processing; supports indexing negative dates. |
double | TrieDoubleField | DoubleType | Double field for Lucene TrieRange processing. |
N/A | TrieField | N/A | Same as any Trie field type. |
float | TrieFloatField | FloatType | Floating point field for Lucene TrieRange processing. |
int, smallint | TrieIntField | Int32Type, ShortType | 32-bit signed integer field for Lucene TrieRange processing. |
tinyint | TrieIntField | ByteType | 32-bit signed integer field for Lucene TrieRange processing. |
bigint | TrieLongField | LongType | Long field for Lucene TrieRange processing. |
uuid, timeuuid | UUIDField | UUIDType | Universally Unique Identifier (UUID). |
varint | VarIntStrField | IntegerType | Indexed as a standard Solr StrField. |
text, varchar | Other | UTF8Type | Indexed as a standard Solr StrField. |