Struct tantivy::schema::JsonObjectOptions
source · pub struct JsonObjectOptions { /* private fields */ }
Expand description
The JsonObjectOptions
make it possible to
configure how a json object field should be indexed and stored.
Implementations§
source§impl JsonObjectOptions
impl JsonObjectOptions
sourcepub fn is_indexed(&self) -> bool
pub fn is_indexed(&self) -> bool
Returns true
iff the json object should be indexed.
sourcepub fn is_fast(&self) -> bool
pub fn is_fast(&self) -> bool
Returns true if and only if the json object fields are to be treated as fast fields.
sourcepub fn get_fast_field_tokenizer_name(&self) -> Option<&str>
pub fn get_fast_field_tokenizer_name(&self) -> Option<&str>
Returns true if and only if the value is a fast field.
sourcepub fn is_expand_dots_enabled(&self) -> bool
pub fn is_expand_dots_enabled(&self) -> bool
Returns true
iff dots in json keys should be expanded.
When expand_dots is enabled, json object like
{"k8s.node.id": 5}
is processed as if it was
{"k8s": {"node": {"id": 5}}}
.
This option has the merit of allowing users to
write queries like k8s.node.id:5
.
On the other, enabling that feature can lead to
ambiguity.
If disabled, the “.” needs to be escaped:
k8s\.node\.id:5
.
sourcepub fn set_expand_dots_enabled(self) -> Self
pub fn set_expand_dots_enabled(self) -> Self
Sets expands_dots
to true.
See is_expand_dots_enabled
for more information.
sourcepub fn get_text_indexing_options(&self) -> Option<&TextFieldIndexing>
pub fn get_text_indexing_options(&self) -> Option<&TextFieldIndexing>
Returns the text indexing options.
If set to Some
then both int and str values will be indexed.
The inner TextFieldIndexing
will however, only apply to the str values
in the json object.
sourcepub fn set_stored(self) -> Self
pub fn set_stored(self) -> Self
Sets the field as stored
sourcepub fn set_fast(self, tokenizer_name: Option<&str>) -> Self
pub fn set_fast(self, tokenizer_name: Option<&str>) -> Self
Set the field as a fast field.
Fast fields are designed for random access. Access time are similar to a random lookup in an array. Text fast fields will have the term ids stored in the fast field.
The effective cardinality depends on the tokenizer. Without a tokenizer, the text will be
stored as is, which equals to the “raw” tokenizer. The tokenizer can be used to apply
normalization like lower case.
The passed tokenizer_name must be available on the fast field tokenizer manager.
Index::fast_field_tokenizer
.
The original text can be retrieved via
TermDictionary::ord_to_term()
from the dictionary.
sourcepub fn set_indexing_options(self, indexing: TextFieldIndexing) -> Self
pub fn set_indexing_options(self, indexing: TextFieldIndexing) -> Self
Sets the field as indexed, with the specific indexing options.
Trait Implementations§
source§impl<T: Into<JsonObjectOptions>> BitOr<T> for JsonObjectOptions
impl<T: Into<JsonObjectOptions>> BitOr<T> for JsonObjectOptions
source§impl Clone for JsonObjectOptions
impl Clone for JsonObjectOptions
source§fn clone(&self) -> JsonObjectOptions
fn clone(&self) -> JsonObjectOptions
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for JsonObjectOptions
impl Debug for JsonObjectOptions
source§impl Default for JsonObjectOptions
impl Default for JsonObjectOptions
source§fn default() -> JsonObjectOptions
fn default() -> JsonObjectOptions
source§impl<'de> Deserialize<'de> for JsonObjectOptions
impl<'de> Deserialize<'de> for JsonObjectOptions
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>,
source§impl From<()> for JsonObjectOptions
impl From<()> for JsonObjectOptions
source§impl From<TextOptions> for JsonObjectOptions
impl From<TextOptions> for JsonObjectOptions
source§fn from(text_options: TextOptions) -> Self
fn from(text_options: TextOptions) -> Self
source§impl PartialEq for JsonObjectOptions
impl PartialEq for JsonObjectOptions
source§fn eq(&self, other: &JsonObjectOptions) -> bool
fn eq(&self, other: &JsonObjectOptions) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for JsonObjectOptions
impl Serialize for JsonObjectOptions
impl StructuralPartialEq for JsonObjectOptions
Auto Trait Implementations§
impl Freeze for JsonObjectOptions
impl RefUnwindSafe for JsonObjectOptions
impl Send for JsonObjectOptions
impl Sync for JsonObjectOptions
impl Unpin for JsonObjectOptions
impl UnwindSafe for JsonObjectOptions
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> 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>
. Box<dyn Any>
can
then be further downcast
into Box<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>
. Rc<Any>
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.