
## Explanation of searchable fields in Atlan

URL: https://docs.atlan.com/product/capabilities/build-apps/sdks/python/search/references/searchable-fields

> Reference guide for searchable fields in the Atlan Python SDK (pyatlan) with details on field types and indexing strategies.

# Explanation of searchable fields in Atlan

The [full model reference](https://docs.atlan.com/llms/platform/types/llms.txt) provides details of every metadata attribute available in Atlan. Alongside each attribute is a listing of the search-specific fields for that attribute and its type.

## Field types

We use the following conventions to delineate the nuances of how different attributes are indexed, and what this means for searching. Note that in the SDKs, every field that exists in Atlan is enumerated. This avoids you needing to remember the exact name of the field (which can vary depending on how it's indexed, even for the same field) or making typos in strings you send in the query.

With the fluent search abstraction, you no longer need to consider how you want to search a particular attribute—the underlying implementation is chosen based on the search predicate you use when writing your query. However, for those curious about the mapping, the following are the different index field that we use in Elastic to handle different kinds of searches.

### Keyword {#keyword}

[Keyword fields](https://www.elastic.co/guide/en/elasticsearch/reference/current/keyword.html) are used for content that you would usually search using exact values. (In particular, for [term-level queries](https://docs.atlan.com/llms/platform/python/term-level/llms.txt).)

They're generally *not* used for full-text search where you would expect your input to provide results that are fuzzy-matched using synonyms, both plural/singular versions of words, matching any or multiple words in a multi-word search input, and so on.

In the SDKs, fields that have a keyword index will be one of these types:

- `KeywordField` - have _only_ a keyword index
- `KeywordTextField`—have both a keyword and text index
- `KeywordTextStemmedField`—have a keyword, text, and stemmed text index

### Text {#text}

[Text fields](https://www.elastic.co/guide/en/elasticsearch/reference/current/text.html) are used for content that you would usually search using [full-text queries](https://docs.atlan.com/llms/platform/python/full-text/llms.txt).

These fields are passed through an analyzer to convert them into an individual list of terms that can be searched. This provides the ability to fuzzy-match using synonyms, both plural/singular versions of words, matching one or many words in a multi-word search input, and so on. (Including scoring each result differently based on how many of these aspects it matches compared to other results.)

In the SDKs, fields that have a text index will be one of these types:

- `TextField`—have _only_ a text index
- `KeywordTextField`—have both a keyword and text index
- `KeywordTextStemmedField`—have a keyword, text, and stemmed text index

The stemmed text index has been [further analyzed for fuzzy matching](https://www.elastic.co/guide/en/elasticsearch/reference/current/stemming.html) through full text searches.

### Date {#date}

[Date fields](https://www.elastic.co/guide/en/elasticsearch/reference/current/date.html) are used for timestamps. We use the numeric *milliseconds-since-the-epoch* representation, so searches should be against such long numbers rather than string-formatted dates.

You will most commonly search these using [term-level queries](https://docs.atlan.com/llms/platform/python/term-level/llms.txt), in particular [range queries](https://docs.atlan.com/llms/platform/python/term-level/llms.txt).

In the SDKs, fields that have a date-based index will be one of these types:

- `NumericField`—have _only_ a numeric index
- `NumericRankField`—have both a numeric index and are rank-boostable

### Boolean {#boolean}

[Boolean fields](https://www.elastic.co/guide/en/elasticsearch/reference/current/boolean.html) are used for content that can only be either `true` or `false`. You should only try to match these two values when searching on these attributes, using a [term query](https://docs.atlan.com/llms/platform/python/term-level/llms.txt).

In the SDKs, fields that have a boolean-based index will only ever be of the type `BooleanField`.

### Float

[Float fields](https://www.elastic.co/guide/en/elasticsearch/reference/current/number.html) are used for content that's numeric and includes decimals.

You will most commonly search these using [term-level queries](https://docs.atlan.com/llms/platform/python/term-level/llms.txt), in particular [range queries](https://docs.atlan.com/llms/platform/python/term-level/llms.txt).

> **Warning: There are non-obvious nuances to float fields**
>
> For example, the values `+0.0` and `-0.0` are considered different values. See the linked Elasticsearch documentation for full details of the nuances.

In the SDKs, fields that have a date-based index will be one of these types:

- `NumericField`—have _only_ a numeric index
- `NumericRankField`—have both a numeric index and are rank-boostable

### Rank feature

[Rank feature fields](https://www.elastic.co/guide/en/elasticsearch/reference/current/rank-feature.html) are used to boost documents in search results.

You can't directly query, sort, or aggregate on a rank feature field, but you can use them in [rank feature queries](https://docs.atlan.com/llms/platform/python/rank-feature/llms.txt) to boost the relevance score of results based on the values of this field.

In the SDKs, fields that have a rank-boostable index will only ever be of the type `NumericRankField`.

_Last updated: 15 May 2026._

---

> **AI agent?** Install the Atlan Docs MCP for direct access: https://docs.atlan.com/skills/install-docs-mcp.md
