pub struct IndexFields {
pub schema: Schema,
pub id: Field,
pub mem: Field,
pub entity_type: Field,
pub title: Field,
pub sections: BTreeMap<String, Field>,
pub metadata: BTreeMap<String, Field>,
pub metadata_text: Field,
}Expand description
Tantivy schema + pre-resolved field handles for a single mem index.
Fields§
§schema: Schema§id: Field§mem: Field§entity_type: Field§title: Field§sections: BTreeMap<String, Field>Section-key → tantivy text field. Keys mirror the section keys the
parser writes into Entity.sections.
metadata: BTreeMap<String, Field>Metadata field key → tantivy STRING field. Only filterable fields are added so the index doesn’t carry fields no caller will query.
metadata_text: FieldONE tokenized field carrying every entity’s metadata KEYS and
VALUES (“key value” lines), built from the entity — no
filterable declaration needed, present even for a mem whose
schema declares no metadata fields. Participates in the
free-text query at a weight below title/sections so
identifier-shaped values are findable without enum/date tokens
swamping prose ranking. The untokenized meta_<key> fields
above keep their exact-match filter role untouched.
Implementations§
Source§impl IndexFields
impl IndexFields
Sourcepub fn build(mem_schema: Option<&Arc<Schema>>) -> Self
pub fn build(mem_schema: Option<&Arc<Schema>>) -> Self
Build the tantivy schema for a mem given the resolved mem schema.
Falls back to a minimal fixed-field schema when mem_schema is
None — useful for read-mems whose pinned schema failed to
resolve (we still index id/mem/title so structural filters work).
Trait Implementations§
Source§impl Clone for IndexFields
impl Clone for IndexFields
Source§fn clone(&self) -> IndexFields
fn clone(&self) -> IndexFields
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for IndexFields
impl RefUnwindSafe for IndexFields
impl Send for IndexFields
impl Sync for IndexFields
impl Unpin for IndexFields
impl UnsafeUnpin for IndexFields
impl UnwindSafe for IndexFields
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for T
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