Skip to main content

Crate luci

Crate luci 

Source
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 ip field 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.