Skip to main content

SearchFilter

Struct SearchFilter 

Source
pub struct SearchFilter {
    pub source: Option<String>,
    pub instance: Option<String>,
    pub kind: Option<String>,
    pub scope: Option<String>,
    pub time_from: Option<i64>,
    pub time_to: Option<i64>,
}
Expand description

Filter pushed into the SQL candidate-retrieval stage of search_chunks_*.

All fields go into the SQL WHERE clause before LIMIT is applied, so they shape the candidate pool itself — never just trim a pre-built majority pool after the fact. This is the load-bearing fix from BLUEPRINT §17.5 PR-C: with thousands of records from one adapter and a handful from another, post-filter shrinkage can leave the minority adapter’s results empty even when they’re the best match.

Empty filter (all fields None) is a no-op — the original WHERE chunks_fts MATCH ? / WHERE e.model_id = ? is preserved.

Fields§

§source: Option<String>

Adapter id (e.g. "claude-code", "mem0"). When set, only chunks belonging to records from this adapter survive.

§instance: Option<String>

Instance discriminator. Only meaningful when source is also set (the SQL key is (adapter, instance)).

§kind: Option<String>

Kind string: "fact" / "preference" / "feedback" / "reference" / "episode" / "skill" / "unknown".

§scope: Option<String>

Scope string: "user" / "project" / "session" / "ephemeral".

§time_from: Option<i64>

Inclusive lower bound on records.created_at (unix epoch seconds).

§time_to: Option<i64>

Inclusive upper bound on records.created_at (unix epoch seconds).

Implementations§

Source§

impl SearchFilter

Source

pub fn is_empty(&self) -> bool

True when every field is None — caller can skip the JOIN.

Trait Implementations§

Source§

impl Clone for SearchFilter

Source§

fn clone(&self) -> SearchFilter

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SearchFilter

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Default for SearchFilter

Source§

fn default() -> SearchFilter

Returns the “default value” for a type. Read more
Source§

impl PartialEq for SearchFilter

Source§

fn eq(&self, other: &SearchFilter) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for SearchFilter

Source§

impl StructuralPartialEq for SearchFilter

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more