You are viewing a snapshot of the in-development Lucille documentation.

This pre-release version reflects the current state of main and may contain unreleased changes.
For the stable release, see the latest version.

Components

Conceptual guide to the core components of Lucille and how they work together.

Lucille is built from a small set of components that work together to move data from source systems into a search backend.

ComponentRole
ConnectorsRead data from a source system and emit Documents into the pipeline.
StagesProcess and enrich Documents. Composed into Pipelines.
IndexersBatch processed Documents and send them to the search backend.
PipelineAn ordered sequence of Stages applied to each Document.
WorkerPulls Documents from the source queue, runs them through the Pipeline, and forwards results.
PublisherTracks every Document from publication to terminal state; provides backpressure.
RunnerOrchestrates a complete run: validates config, starts components, waits for completion.
DocumentThe basic unit of data flowing through the system.
ConfigWhy Lucille is configuration-driven, and how HOCON and Typesafe Config shape the system.

For a catalogue of specific implementations — built-in connectors, stages, indexers, file handlers, and plugins — see the Ingest Design section.


Document

The basic unit of data that is sent through a Pipeline and eventually indexed into a search engine.

Connector

A component that retrieves data from a source system and packages the data into Documents in preparation for transformation.

Publisher

Provides a way to publish Documents for processing by the pipeline, and tracks their lifecycle until completion.

Event

As Lucille runs, it generates Events that track document lifecycle and enable run completion accounting.

Stage

A Stage performs a specific transformation on a Document.

Pipeline

The ordered sequence of Stages that transform Documents before they are indexed.

Worker

A thread that retrieves published documents and passes them through a pipeline, then forwards completed documents to the Indexer.

Indexer

An Indexer sends processed Documents to a specific destination.

Runner

Component that manages a Lucille Run end-to-end.

Config

Why Lucille is configuration-driven, and how the choice of HOCON and Typesafe Config shapes the system.