pub struct CachedQuery {
pub id: Uuid,
pub query_text: String,
pub query_vector: Vec<f32>,
pub results: Vec<SemanticSearchResult>,
pub cached_at: DateTime<Utc>,
pub params_hash: u64,
pub session_id: Option<Uuid>,
/* private fields */
}Expand description
A cached query with atomic access tracking
Fields§
§id: UuidUnique identifier for the query
query_text: StringOriginal query text
query_vector: Vec<f32>Query embedding vector
results: Vec<SemanticSearchResult>Cached search results
cached_at: DateTime<Utc>Timestamp when cached
params_hash: u64Query parameters hash for exact matching
session_id: Option<Uuid>Session ID that created this query (optional)
Implementations§
Source§impl CachedQuery
impl CachedQuery
Sourcepub fn new(
query_text: String,
query_vector: Vec<f32>,
results: Vec<SemanticSearchResult>,
params_hash: u64,
session_id: Option<Uuid>,
) -> Self
pub fn new( query_text: String, query_vector: Vec<f32>, results: Vec<SemanticSearchResult>, params_hash: u64, session_id: Option<Uuid>, ) -> Self
Create a new cached query
Sourcepub fn is_expired(&self, ttl_minutes: i64) -> bool
pub fn is_expired(&self, ttl_minutes: i64) -> bool
Check if the cached query has expired
Sourcepub fn mark_accessed(&self)
pub fn mark_accessed(&self)
Update access statistics (via CAS)
Sourcepub fn efficiency_score(&self) -> f32
pub fn efficiency_score(&self) -> f32
Get efficiency score
Sourcepub fn similarity_with(&self, other_vector: &[f32]) -> f32
pub fn similarity_with(&self, other_vector: &[f32]) -> f32
Calculate similarity with another query vector
Trait Implementations§
Source§impl Debug for CachedQuery
impl Debug for CachedQuery
Source§impl<'de> Deserialize<'de> for CachedQuery
impl<'de> Deserialize<'de> for CachedQuery
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 CachedQuery
impl RefUnwindSafe for CachedQuery
impl Send for CachedQuery
impl Sync for CachedQuery
impl Unpin for CachedQuery
impl UnsafeUnpin for CachedQuery
impl UnwindSafe for CachedQuery
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> 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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request