Skip to main content
Indexes organize your logs into searchable log sources. Each index defines a schema that determines how log fields are stored and queried. When you attach an existing Quickwit instance, its indexes appear automatically as log sources in the UI.

Built-in OpenTelemetry index

Rootprint ships with otel-logs-v0_9 as its default OpenTelemetry logs index, the schema bundled with Quickwit 0.9.0. The schema maps directly to the OpenTelemetry Log Data Model and is ready to use without any configuration.

Rootprint field defaults

Until you save explicit settings for an index, Rootprint uses these OpenTelemetry-friendly defaults to render its rows and detail drawer: The bundled OTel index uses these paths out of the box. For custom-schema indexes, override any of them in the index’s Configuration tab.

Schema

The index uses strict mode: every document must match the schema exactly. Arbitrary fields are not accepted at the top level. Instead, all custom key-value data goes into the attributes, resource_attributes, or scope_attributes JSON fields.

Core fields

These fields carry the primary log data.

Attributes

Key-value metadata on the log event and its resource.

Trace context

Fields for correlating logs with distributed traces. A log carrying trace_id opens its trace — see Read a trace.
trace_id is the default path Rootprint reads. For a custom schema whose trace ID lives elsewhere, override it with the Trace ID field setting on the index. See Correlate logs with traces.

Instrumentation scope

Metadata about the library that produced the log. Stored but not indexed, available in results but not searchable.

Indexed vs fast fields

  • Indexed: the field is added to an inverted index and is searchable via text queries. When indexed: false, you cannot use the field in search predicates.
  • Fast: the field is stored in column-oriented storage (similar to Lucene DocValues). Enables efficient range queries, aggregations, and sorting. A field can be fast without being indexed, and vice versa.
For example, timestamp_nanos is fast but not indexed. It is used for fast time-range filtering, not text search.

Tokenizers

The index uses two tokenizer strategies:

Query examples

Example payload

Because the schema uses strict mode, any fields not defined in the schema are rejected. When sending logs manually, ensure your payload only includes fields that match the schema. When using an OpenTelemetry collector, Quickwit handles field mapping automatically.

Custom indexes

For non-OpenTelemetry data (audit trails, custom application events, third-party log formats), create an index with the schema your data needs. See Create a custom index for the Create-index form: field types, tokenizers, and retention policy. Once it exists, configure how Rootprint maps its fields from the index’s Configuration tab.

Next steps