pub enum FieldType {
Str(TextOptions),
U64(NumericOptions),
I64(NumericOptions),
F64(NumericOptions),
Bool(NumericOptions),
Date(DateOptions),
Facet(FacetOptions),
Bytes(BytesOptions),
JsonObject(JsonObjectOptions),
IpAddr(IpAddrOptions),
}
Expand description
A FieldType
describes the type (text, u64) of a field as well as
how it should be handled by tantivy.
Variants§
Str(TextOptions)
String field type configuration
U64(NumericOptions)
Unsigned 64-bits integers field type configuration
I64(NumericOptions)
Signed 64-bits integers 64 field type configuration
F64(NumericOptions)
64-bits float 64 field type configuration
Bool(NumericOptions)
Bool field type configuration
Date(DateOptions)
Signed 64-bits Date 64 field type configuration,
Facet(FacetOptions)
Hierarchical Facet
Bytes(BytesOptions)
Bytes (one per document)
JsonObject(JsonObjectOptions)
Json object
IpAddr(IpAddrOptions)
IpAddr field
Implementations§
source§impl FieldType
impl FieldType
sourcepub fn value_type(&self) -> Type
pub fn value_type(&self) -> Type
Returns the value type associated for this field.
sourcepub fn is_ip_addr(&self) -> bool
pub fn is_ip_addr(&self) -> bool
returns true if this is an ip address field
sourcepub fn is_indexed(&self) -> bool
pub fn is_indexed(&self) -> bool
returns true if the field is indexed.
sourcepub fn index_record_option(&self) -> Option<IndexRecordOption>
pub fn index_record_option(&self) -> Option<IndexRecordOption>
Returns the index record option for the field.
If the field is not indexed, returns None
.
sourcepub fn has_fieldnorms(&self) -> bool
pub fn has_fieldnorms(&self) -> bool
returns true if the field is normed (see fieldnorms).
sourcepub fn get_index_record_option(&self) -> Option<IndexRecordOption>
pub fn get_index_record_option(&self) -> Option<IndexRecordOption>
Given a field configuration, return the maximal possible
IndexRecordOption
available.
For the Json object, this does not necessarily mean it is the index record option level is available for all terms. (Non string terms have the Basic indexing option at most.)
If the field is not indexed, then returns None
.
sourcepub fn value_from_json(
&self,
json: JsonValue
) -> Result<OwnedValue, ValueParsingError>
pub fn value_from_json( &self, json: JsonValue ) -> Result<OwnedValue, ValueParsingError>
Parses a field value from json, given the target FieldType.
Tantivy will try to cast values only with the coerce option.
For instance, If the json value is the integer 3
and the
target field is a Str
, this method will return an Error if coerce
is not enabled.
Trait Implementations§
source§impl<'de> Deserialize<'de> for FieldType
impl<'de> Deserialize<'de> for FieldType
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 PartialEq for FieldType
impl PartialEq for FieldType
impl StructuralPartialEq for FieldType
Auto Trait Implementations§
impl Freeze for FieldType
impl RefUnwindSafe for FieldType
impl Send for FieldType
impl Sync for FieldType
impl Unpin for FieldType
impl UnwindSafe for FieldType
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.