Skip to content

Indices

Index Configuration (Global Defaults)

Indices control how the local database indexes transcribed data for efficient querying. Global indices defined here apply to all transcribes as defaults. Transcribe-level indices (at transcribes.<type>.indices.*) take precedence when both are defined.

All three index types can be defined at the root level:

  • partial-match: For contains/startsWith queries (expensive)
  • value-match: For equality, range, and sorting queries
  • sortable: For multi-valued attribute sorting

Example:

indices {
partial-match = "cn, sn, description"
value-match = "uid, mail, employeeNumber"
sortable = "cn, displayName"
}

Attributes for partial-match (contains/startsWith) queries. Creates trigram indexes for substring matching. Increases write time and disk usage significantly. Select carefully based on actual query patterns.

Example: "cn, sn, description"

Priority: SCRIBE_INDICES_PARTIAL_MATCH > config

PropertyValue
Defaultnull
OverrideSCRIBE_INDICES_PARTIAL_MATCH (optional)
indices.partial-match = null
indices.partial-match = ${?SCRIBE_INDICES_PARTIAL_MATCH}

Attributes for entry-level sorting (multi-valued only). Single-valued attributes use value-match indexes automatically. Only specify multi-valued attributes that need ORDER BY support.

Example: "cn, displayName, memberOf"

Priority: SCRIBE_INDICES_SORTABLE > config

PropertyValue
Defaultnull
OverrideSCRIBE_INDICES_SORTABLE (optional)
indices.sortable = null
indices.sortable = ${?SCRIBE_INDICES_SORTABLE}

Attributes for equality, range, and sorting queries. Baseline defaults (objectClass, cn, uid, mail, etc.) are automatically included for observed attributes. Add additional attributes here for custom equality filters.

Example: "cn, uid, mail, nrfMemberOf"

Priority: SCRIBE_INDICES_VALUE_MATCH > config

PropertyValue
Defaultnull
OverrideSCRIBE_INDICES_VALUE_MATCH (optional)
indices.value-match = null
indices.value-match = ${?SCRIBE_INDICES_VALUE_MATCH}