Skip to content

Dynamic Fields

Dynamic fields are used across most nodes to model arbitrary/dynamic data added to the system. Due to the dynamic nature of these fields, the system does not automatically know how to index and treat these values. So in order to enable filtering and sorting by dynamic fields, they must be defined.

A dynamic field definition can be added after the field has been created. If there are values that does not match the definitions format, these will be treated as NULL values in terms of filtering. Additionally, there is no enforcement of formats when setting dynamic fields in Actors.

Configuring a Dynamic Field

Configuration is done through the Registry. The available types are:

TypeDescription

text

Unique text values

enum

A small set of common text values. All set values will be collected and included in graph meta model.

number

Numeric (decimal) value. If the underlying value is a string, automatic conversion will be done assuming period (.) as decimal separator.

boolean

Boolean value. Underlying text values of “true” and “false” will be automatically converted.

instant

Datetime timestamp. Underlying value must be ISO-8601 compatible text value.

[text]

Array of unique text values. Underlying value must be a JSON array. Allows array predicates. Sorting is not allowed.

[enum]

Array of a small set of common text values. Underlying value must be a JSON array. Allows array predicates. Sorting is not allowed.

Index Creation

When a field has been defined in the registry, the index will be created in the background. The field will be available for filtering and sorting once the index is complete. This can take anything from a few seconds to hours depending on the size of the dataset.

To follow the progress, you can refer to the System Signals. Also, the graph meta model will tell you when the index is valid.