Expand description
luci — embeddable, in-process search engine.
The SQLite/DuckDB of Elasticsearch: link it in, open a file, search.
Indexing JSON documents, term/BM25/vector search, segment merge, and
persistence all live in this one crate, organized into modules that
mirror the former workspace crates (core, mapping, storage,
analysis) plus the engine subsystems.
See [[luci|engineering vision]], [[architecture-overview]], and [[architecture-segment-layout]] for the design.
Re-exports§
pub use crate::core::DocId;pub use crate::core::FieldId;pub use crate::core::LuciError;pub use crate::core::Result;pub use crate::core::ScoreMode;pub use crate::core::Scorer;pub use crate::core::SegmentId;pub use crate::core::TwoPhaseIterator;pub use crate::index::Index;pub use crate::mapping::DynamicMode;pub use crate::mapping::FieldMapping;pub use crate::mapping::FieldType;pub use crate::mapping::Mapping;pub use crate::mapping::MappingBuilder;pub use crate::mapping::QuantizationType;
Modules§
- agg
- Aggregation framework: collectors, result types, and aggregation definitions.
- analysis
luci-analysis— text analysis pipeline for Luci.- columnar
- Columnar storage for fast field access.
- core
luci-core— shared types, traits, and error handling for Luci.- deletion
- Deletion bitmaps: roaring bitmap tracking of deleted documents.
- index
Index— unified facade for creating, writing, and searching a Luci index.- inverted
- Inverted index structures: posting lists, term dictionary, field norms.
- ip
- IP address parsing and normalization for the
ipfield type. - mapping
luci-mapping— field types, mappings, and dynamic field detection.- merge
- Segment merge: combine multiple segments into one, applying deletions.
- merge_
policy - Tiered merge policy: select segments to merge based on size tiers.
- query
- Query DSL: AST types, JSON parser, and execution framework.
- reader
- IndexReader: open committed index, provide search snapshots.
- search
- Search pipeline: BM25 scoring, top-K collection, multi-segment search.
- segment
- Segment format, builder, and reader.
- spatial
- Geospatial support: geo_point/geo_shape storage, spatial queries.
- storage
luci-storage— block-based storage engine for Luci.- store
- Document store: LZ4-compressed storage for original JSON source.
- vector
- Vector search: HNSW graph construction, search, and kNN queries.
- writer
- IndexWriter: buffer documents, analyze text, flush segments, commit.
Functions§
- set_
num_ threads - Configure the global thread pool for parallel search.