Skip to main content

SearchResult

Struct SearchResult 

Source
#[non_exhaustive]
pub struct SearchResult { pub id: String, pub content: String, pub meta: Option<SessionMeta>, pub similarity: Option<f64>, pub snippet: Option<String>, }
Expand description

Result from a store search operation.

Contains the stored content along with its identifier and optional metadata.

Marked #[non_exhaustive] so future fields (e.g. snippet) can be added in a non-breaking way — downstream code must use struct update syntax or constructors rather than exhaustive field literals.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§id: String

Unique identifier for this entry.

§content: String

The stored content (command output).

§meta: Option<SessionMeta>

Optional metadata about this entry’s origin.

§similarity: Option<f64>

Optional similarity score (for semantic search backends).

§snippet: Option<String>

Optional bounded excerpt centered on the best match.

Populated by the FTS5 branch of SqliteStore::search via the snippet() FTS5 function. None for the short-query LIKE fallback and for backends without FTS5 (e.g. VipuneStore). Callers should fall back to a client-side bounded prefix of content when this is None. Note the snippet() window is bounded in tokens, so for content containing arbitrarily long multi-byte tokens a Some snippet can still exceed the display budget — display callers must apply their own char cap (see recall_display::display_hit).

Trait Implementations§

Source§

impl Debug for SearchResult

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.