Struct tantivy::collector::HistogramCollector

source ·
pub struct HistogramCollector { /* private fields */ }
Expand description

Histogram builds an histogram of the values of a fastfield for the collected DocSet.

At construction, it is given parameters that define a partition of an interval [min_val, max_val) into N buckets with the same width. The ith bucket is then defined by [min_val + i * bucket_width, min_val + (i+1) * bucket_width)

An histogram is then defined as a Vec<u64> of length num_buckets, that contains a count of documents for each value bucket.

See also HistogramCollector::new().

§Warning

f64 fields are not supported.

Implementations§

source§

impl HistogramCollector

source

pub fn new<TFastValue: FastValue>( field: String, min_value: TFastValue, bucket_width: u64, num_buckets: usize ) -> HistogramCollector

Builds a new HistogramCollector.

The scale/range of the histogram is not dynamic. It is required to define it by supplying following parameter:

  • min_value: the minimum value that can be recorded in the histogram.
  • bucket_width: the length of the interval that is associated with each buckets.
  • num_buckets: The overall number of buckets.

Together, this parameters define a partition of [min_value, min_value + num_buckets * bucket_width) into num_buckets intervals of width bucket that we call bucket.

§Disclaimer

This function panics if the field given is of type f64.

Trait Implementations§

source§

impl Clone for HistogramCollector

source§

fn clone(&self) -> HistogramCollector

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Collector for HistogramCollector

§

type Fruit = Vec<u64>

Fruit is the type for the result of our collection. e.g. usize for the Count collector.
§

type Child = SegmentHistogramCollector

Type of the SegmentCollector associated with this collector.
source§

fn for_segment( &self, _segment_local_id: SegmentOrdinal, segment: &SegmentReader ) -> Result<Self::Child>

set_segment is called before beginning to enumerate on this segment.
source§

fn requires_scoring(&self) -> bool

Returns true iff the collector requires to compute scores for documents.
source§

fn merge_fruits(&self, child_histograms: Vec<Vec<u64>>) -> Result<Vec<u64>>

Combines the fruit associated with the collection of each segments into one fruit.
source§

fn collect_segment( &self, weight: &dyn Weight, segment_ord: u32, reader: &SegmentReader ) -> Result<<Self::Child as SegmentCollector>::Fruit>

Created a segment collector and

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> Downcast for T
where T: Any,

source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert 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>

Convert 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)

Convert &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)

Convert &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> DowncastSync for T
where T: Any + Send + Sync,

source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

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> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> ToOwned for T
where T: Clone,

§

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>,

§

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>,

§

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> Fruit for T
where T: Send + Downcast,