---
title: Fast Fields
---

## Basic Usage

A field that is indexed as `fast` is stored in a column-oriented fashion. Fast fields are necessary for
[aggregations](/documentation/aggregates/overview). They can also improve the query times of [filtering](/documentation/full-text/filtering) and
[sorting](/documentation/full-text/sorting).

By default, [numeric](/documentation/indexing/field_options#numeric-fields), [datetime](/documentation/indexing/field_options#datetime-fields), [UUID](/documentation/indexing/field_options#text-fields) and [boolean](/documentation/indexing/field_options#boolean-fields)
are indexed as fast. The following code block demonstrates how to specify other data types as fast fields.

```sql
CREATE INDEX search_idx ON mock_items
USING bm25 (id, rating)
WITH (
    key_field = 'id',
    text_fields ='{
        "description": {"fast": true}
    }'
);
```

## Normalizers

The normalizer controls how text fast fields are stored. By default, the `raw` normalizer is used. The `raw` normalizer is useful for accelerating
queries that [sort by the text field](/documentation/full-text/sorting#fast-ordering).

```sql
CREATE INDEX search_idx ON mock_items
USING bm25 (id, category)
WITH (
    key_field='id',
    text_fields='{
        "category": {"fast": true, "normalizer": "raw"}
    }'
);
```

Setting the normalizer to `lowercase` is useful for queries that [sort by the lowercase text field](/documentation/full-text/sorting#ordering-by-text-field).
