pub struct WorkspaceMetadata {
pub workspace_id: WorkspaceId,
pub root_path: PathBuf,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub document_count: usize,
pub chunk_count: usize,
pub total_bytes: u64,
pub embedding_dimension: usize,
pub index_version: u32,
pub document_states: HashMap<PathBuf, DocumentState>,
pub language_stats: HashMap<Language, LanguageInfo>,
}Expand description
Metadata about a workspace index.
Fields§
§workspace_id: WorkspaceIdWorkspace identifier.
root_path: PathBufRoot path of the workspace.
created_at: DateTime<Utc>When the workspace was first indexed.
updated_at: DateTime<Utc>When the workspace was last updated.
document_count: usizeNumber of indexed documents.
chunk_count: usizeNumber of indexed chunks.
total_bytes: u64Total size of indexed files in bytes.
embedding_dimension: usizeEmbedding dimension used.
index_version: u32Version of the index format.
document_states: HashMap<PathBuf, DocumentState>Document states for incremental updates.
language_stats: HashMap<Language, LanguageInfo>Language statistics.
Implementations§
Source§impl WorkspaceMetadata
impl WorkspaceMetadata
Sourcepub fn new(
workspace_id: WorkspaceId,
root_path: PathBuf,
embedding_dimension: usize,
) -> Self
pub fn new( workspace_id: WorkspaceId, root_path: PathBuf, embedding_dimension: usize, ) -> Self
Create new metadata for a workspace.
Sourcepub fn needs_reindex(&self, path: &PathBuf, content_hash: &str) -> bool
pub fn needs_reindex(&self, path: &PathBuf, content_hash: &str) -> bool
Check if a document needs reindexing.
Sourcepub fn record_document(
&mut self,
path: PathBuf,
document_id: DocumentId,
content_hash: String,
size_bytes: u64,
language: Language,
chunk_count: usize,
)
pub fn record_document( &mut self, path: PathBuf, document_id: DocumentId, content_hash: String, size_bytes: u64, language: Language, chunk_count: usize, )
Record a document as indexed.
Sourcepub fn remove_document(&mut self, path: &PathBuf)
pub fn remove_document(&mut self, path: &PathBuf)
Remove a document from the index.
Sourcepub fn find_deleted_documents(&self, existing_paths: &[PathBuf]) -> Vec<PathBuf>
pub fn find_deleted_documents(&self, existing_paths: &[PathBuf]) -> Vec<PathBuf>
Get paths that have been deleted from disk.
Sourcepub fn is_compatible(&self) -> bool
pub fn is_compatible(&self) -> bool
Check if the index version is compatible.
Trait Implementations§
Source§impl Clone for WorkspaceMetadata
impl Clone for WorkspaceMetadata
Source§fn clone(&self) -> WorkspaceMetadata
fn clone(&self) -> WorkspaceMetadata
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WorkspaceMetadata
impl Debug for WorkspaceMetadata
Source§impl<'de> Deserialize<'de> for WorkspaceMetadata
impl<'de> Deserialize<'de> for WorkspaceMetadata
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for WorkspaceMetadata
impl RefUnwindSafe for WorkspaceMetadata
impl Send for WorkspaceMetadata
impl Sync for WorkspaceMetadata
impl Unpin for WorkspaceMetadata
impl UnwindSafe for WorkspaceMetadata
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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