pub struct SearchHit {Show 16 fields
pub obj_tp: char,
pub obj_id: Box<str>,
pub part_id: Option<Box<str>>,
pub part_kind: Option<Box<str>>,
pub parent_part: Option<Box<str>>,
pub anchor_id: Option<Box<str>>,
pub app_id: Option<Box<str>>,
pub nav_param: Option<Box<str>>,
pub content_type: Option<Box<str>>,
pub title: Option<Box<str>>,
pub snippet: Option<Box<str>>,
pub snippet_matches: Option<Box<[SearchMatch]>>,
pub tags: Option<Box<[Box<str>]>>,
pub owner_tag: Option<Box<str>>,
pub updated_at: Timestamp,
pub score: f64,
}Expand description
One result row on the wire.
Absent fields are omitted rather than sent as null: the frontend types
these as optional (T.optional in libs/types/src/types.ts), which in
@symbion/runtype means “may be missing”, not “may be null”. A hit is
mostly-empty for whole-object rows, so this also keeps the payload small.
Fields§
§obj_tp: char'F' file, 'D' deep document part, 'A' action, 'P' profile.
obj_id: Box<str>§part_id: Option<Box<str>>Deep-link key — for notillo, the page id.
part_kind: Option<Box<str>>§parent_part: Option<Box<str>>§anchor_id: Option<Box<str>>Finest-grained anchor inside the part — for notillo, the block id.
app_id: Option<Box<str>>App id parsed out of cloudillo/<appId>, for building a cl: ref.
Deep-link query param name from the format manifest, e.g. "nav".
content_type: Option<Box<str>>§title: Option<Box<str>>§snippet: Option<Box<str>>Server-built excerpt as plain text; snippetMatches carries the highlight
out of band. Contains no markup and must not be fed to an HTML sink.
Absent for every hit when the tenant has search.store_text off:
that mode keeps no plain-text copy to cut an excerpt out of. A result list
must fall back to title + tags rather than assume a snippet is there.
snippet_matches: Option<Box<[SearchMatch]>>Ranges within snippet to emphasise. UTF-16 code-unit offsets, so a
client can slice snippet directly; ascending and non-overlapping.
owner_tag: Option<Box<str>>§updated_at: Timestamp§score: f64Sign-flipped bm25(): higher is more relevant.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SearchHit
impl RefUnwindSafe for SearchHit
impl Send for SearchHit
impl Sync for SearchHit
impl Unpin for SearchHit
impl UnsafeUnpin for SearchHit
impl UnwindSafe for SearchHit
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> ⓘ
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> ⓘ
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