pub struct MemoryCache { /* private fields */ }Expand description
A cache that lives only as long as the value. Used for --no-cache searches.
Implementations§
Source§impl MemoryCache
impl MemoryCache
Trait Implementations§
Source§impl Debug for MemoryCache
impl Debug for MemoryCache
Source§impl Default for MemoryCache
impl Default for MemoryCache
Source§impl EmbeddingCache for MemoryCache
impl EmbeddingCache for MemoryCache
fn register_profile(&mut self, id: &str, profile: &CacheProfile) -> Result<()>
Source§fn resource_index(
&self,
profile: &str,
) -> Result<HashMap<ResourceId, CachedResourceState>>
fn resource_index( &self, profile: &str, ) -> Result<HashMap<ResourceId, CachedResourceState>>
Every cached resource for a profile, keyed by identity. Segments are not loaded.
fn resource( &self, profile: &str, path: &ResourceId, ) -> Result<Option<CachedResource>>
Source§fn put_resource(
&mut self,
profile: &str,
path: &ResourceId,
resource: &ResourceWrite<'_>,
) -> Result<()>
fn put_resource( &mut self, profile: &str, path: &ResourceId, resource: &ResourceWrite<'_>, ) -> Result<()>
Replace a resource and its segments.
Source§fn touch_resource(
&mut self,
profile: &str,
path: &ResourceId,
metadata: &ResourceMetadata,
version: &ResourceVersion,
) -> Result<()>
fn touch_resource( &mut self, profile: &str, path: &ResourceId, metadata: &ResourceMetadata, version: &ResourceVersion, ) -> Result<()>
Update metadata and version when content is unchanged.
fn remove_resources( &mut self, profile: &str, paths: &[ResourceId], ) -> Result<()>
Source§fn known_inputs(
&self,
profile: &str,
hashes: &[String],
) -> Result<HashSet<String>>
fn known_inputs( &self, profile: &str, hashes: &[String], ) -> Result<HashSet<String>>
Which of
hashes already have a vector.fn put_embeddings( &mut self, profile: &str, items: &[(String, Vec<f32>)], ) -> Result<()>
Source§fn vectors_for(
&self,
profile: &str,
paths: &HashSet<ResourceId>,
) -> Result<Vec<StoredVector>>
fn vectors_for( &self, profile: &str, paths: &HashSet<ResourceId>, ) -> Result<Vec<StoredVector>>
All searchable vectors for the given paths.
Source§fn lexical_search(
&self,
profile: &str,
query: &LexicalQuery,
paths: &HashSet<ResourceId>,
limit: usize,
) -> Result<Vec<LexicalHit>>
fn lexical_search( &self, profile: &str, query: &LexicalQuery, paths: &HashSet<ResourceId>, limit: usize, ) -> Result<Vec<LexicalHit>>
Segments of
paths matching query by keyword, best first, at most limit.
Equal scores are ordered by path bytes, then segment ordinal.Source§fn lexical_matched_terms(
&self,
profile: &str,
query: &LexicalQuery,
keys: &[(ResourceId, usize)],
) -> Result<Vec<Vec<String>>>
fn lexical_matched_terms( &self, profile: &str, query: &LexicalQuery, keys: &[(ResourceId, usize)], ) -> Result<Vec<Vec<String>>>
Query tokens confirmed by the cached index for the requested segments.
Called only for final hits ranked by the keyword leg, after fusion and
eligibility checks. Return one term list per key, in the same order.
Never recover source text; report only complete matching query groups.
Source§fn prune_orphans(&mut self, profile: &str) -> Result<u64>
fn prune_orphans(&mut self, profile: &str) -> Result<u64>
Drop vectors no segment refers to any more.
fn stats(&self) -> Result<CacheStats>
fn clear(&mut self) -> Result<()>
Source§fn scrub(&mut self) -> Result<CacheCleanup>
fn scrub(&mut self) -> Result<CacheCleanup>
Erase stale FTS postings and historical WAL frames. Busy readers leave work pending.
Source§fn scrub_if_idle(&mut self, _quiet: Duration) -> Result<Option<CacheCleanup>>
fn scrub_if_idle(&mut self, _quiet: Duration) -> Result<Option<CacheCleanup>>
Attempt a background scrub after this long without writes. Busy work is retried
at the same interval, rather than on every scheduler tick.
Source§fn scrub_delay(&self, quiet: Duration) -> Duration
fn scrub_delay(&self, quiet: Duration) -> Duration
Scheduler delay until the next quiet-period/retry deadline. When idle,
check at this interval to observe activity from other processes.
Source§fn supports_image_codes(&self) -> bool
fn supports_image_codes(&self) -> bool
Whether persistent Photo Anchor representations are supported.
Source§fn sync_image_codes(
&mut self,
_profile: &str,
_paths: &HashSet<ResourceId>,
) -> Result<()>
fn sync_image_codes( &mut self, _profile: &str, _paths: &HashSet<ResourceId>, ) -> Result<()>
Derive missing image codes from retained f32 during an opted-in sync.
Source§fn image_scan_rows(
&self,
_profile: &str,
_paths: &HashSet<ResourceId>,
) -> Result<Vec<ScanVector>>
fn image_scan_rows( &self, _profile: &str, _paths: &HashSet<ResourceId>, ) -> Result<Vec<ScanVector>>
Read representations without writing or loading f32 for coded images.
Auto Trait Implementations§
impl Freeze for MemoryCache
impl RefUnwindSafe for MemoryCache
impl Send for MemoryCache
impl Sync for MemoryCache
impl Unpin for MemoryCache
impl UnsafeUnpin for MemoryCache
impl UnwindSafe for MemoryCache
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