Defining index field types

Default field type definitions

A field type definition is required for parsing CQL columns into the corresponding Solr field type. Add processing instructions to the analyzer section of the fieldType definition.

TrieField types

Used with a type attribute and value: integer, long, float, double, date.

TrieDoubleField
<fieldType class="org.apache.solr.schema.TrieDoubleField" name="TrieDoubleField"/>
TrieDateField

Date field for Lucene TrieRange processing, supports indexing negative date. For example: -28011-12-02T00:00:00.002Z. To insert negative dates for the CQL timestamp, insert an epoch time in milliseconds. The TimestampType does not accept a textual representation of negative dates.

<fieldType class="org.apache.solr.schema.TrieDateField" name="TrieDateField"/>
TrieFloatField
<fieldType class="org.apache.solr.schema.TrieFloatField" name="TrieFloatField"/>

StringField types

VarIntStrField

Define with the DataStax class to convert a CQL varint.

<fieldType class="com.datastax.bdp.search.solr.core.types.VarIntStrField" name="VarIntStrField"/>
AsciiStrField

Converts a CQL ascii into a standard Solr StrField.

 <fieldType class="com.datastax.bdp.search.solr.core.types.AsciiStrField"
       name="AsciiStrField"/>
SimpleDateField

Define with the DataStax class to convert a CQL date field into a compatible Solr date field.

<fieldType class="com.datastax.bdp.search.solr.core.types.SimpleDateField" name="SimpleDateField"/>
BoolField

Due to SOLR-7264, setting docValues to true on a boolean field in the Solr schema does not work. A workaround for boolean docValues is to use 0 and 1 with a TrieIntField.

<fieldType class="org.apache.solr.schema.BoolField" name="BoolField"/>
BinaryField
<fieldType class="org.apache.solr.schema.BinaryField" name="BinaryField"/>
UUIDField

A value of this type is a Type 1 UUID that includes the time of its generation. Values are sorted by conflict-free timestamps. For example, use the TimeUUID type to identify a column, such as a blog entry, by its timestamp and allow multiple clients to write to the same partition key simultaneously. To find data mapped from a TimeUUID to a UUIDField, search for the entire UUID value, not just its time component.

<fieldType class="org.apache.solr.schema.UUIDField" name="UUIDField"/>

Default index field definitions for CQL column types

Decimal and varint are indexed as strings. Apache Lucene™ does not support the precision required by these numeric types. Range and sorting queries do not work as expected if a table uses these types.

Default column definitions
CQL data type Field type name docValues multiValued

ascii

AsciiStrField

false

false

bigint

TrieLongField

true

false

blob

BinaryField

not supported

false

boolean

BoolField

false

false

date

SimpleDateField

not supported

false

decimal

DecimalStrField

false

false

double

TrieDoubleField

true

false

float

TrieFloatField

true

false

inet

InetField

false

false

int

TrieIntField

true

false

smallint

TrieIntField

true

false

text

TextField

false

false

time

TimeField

true

false

timestamp

TrieDateField

true

false

timeuuid

TimeUUIDField

true

false

tinyint

TrieIntField

true

false

uuid

UUIDField

true

false

varchar

TextField

not supported

false

varint

VarIntStrField

false

false

list

true

map

true

set

true

true

TupleField

false

false

CQL data type compatibility with field type classes

Compatibility matrix
CQL Field name Class 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

PointType

UTF8Type

Arbitrary n-dimensional 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.

Was this helpful?

Give Feedback

How can we improve the documentation?

© 2024 DataStax | Privacy policy | Terms of use

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: +1 (650) 389-6000, info@datastax.com