pub enum LuciError {
Io(Error),
IndexNotFound(String),
IndexCorrupted(String),
WriterLocked,
SchemaConflict {
field: String,
expected: String,
actual: String,
},
UnsupportedQuery(String),
InvalidQuery(String),
InvalidValue(String),
TransactionActive,
QueryBehaviorDifference {
feature: String,
difference: String,
},
SegmentFormatMigrationRequired(String),
SegmentFormatUnknown(String),
}Expand description
Top-level error type for all Luci operations.
Designed to map cleanly across the FFI boundary to Python exceptions. See [[architecture-api-surface#Error Handling]].
Variants§
Io(Error)
Underlying I/O error.
IndexNotFound(String)
Index file does not exist at the given path.
IndexCorrupted(String)
Index file failed checksum validation — data is corrupt. See [[architecture-storage-format#Crash Recovery]].
WriterLocked
Another IndexWriter holds the file lock.
See [[architecture-concurrency-model#Single-Writer Model]].
SchemaConflict
Document field type conflicts with the schema mapping.
UnsupportedQuery(String)
Query type is recognized but not yet implemented.
InvalidQuery(String)
Query JSON is malformed or fails validation.
InvalidValue(String)
A field value cannot be stored as specified — e.g. a keyword or
_id whose UTF-8 length exceeds the 65535-byte columnar dictionary
limit. Rejected at indexing time rather than silently truncated
([[code-must-not-lie]]). See [[optimization-keyword-dict-offset-index]].
TransactionActive
Write attempted on Index while a transaction is active on the same thread. Use txn.add() instead of index.add().
QueryBehaviorDifference
ES query feature that Luci implements with different behavior. The query will NOT execute — users must acknowledge the difference.
SegmentFormatMigrationRequired(String)
HNSW segment is in a recognized older format but requires user-driven migration (re-index). Used for the v0.7.1 → v0.7.2 cosine format break.
SegmentFormatUnknown(String)
HNSW segment carries an unknown format version byte. Most likely a future-format file opened by an older Luci binary.
Trait Implementations§
Source§impl Error for LuciError
impl Error for LuciError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Auto Trait Implementations§
impl !RefUnwindSafe for LuciError
impl !UnwindSafe for LuciError
impl Freeze for LuciError
impl Send for LuciError
impl Sync for LuciError
impl Unpin for LuciError
impl UnsafeUnpin for LuciError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more