Struct tantivy::indexer::LogMergePolicy
source · pub struct LogMergePolicy { /* private fields */ }
Expand description
LogMergePolicy
tries to merge segments that have a similar number of
documents.
Implementations§
source§impl LogMergePolicy
impl LogMergePolicy
sourcepub fn set_min_num_segments(&mut self, min_num_segments: usize)
pub fn set_min_num_segments(&mut self, min_num_segments: usize)
Set the minimum number of segments that may be merged together.
sourcepub fn set_max_docs_before_merge(&mut self, max_docs_merge_size: usize)
pub fn set_max_docs_before_merge(&mut self, max_docs_merge_size: usize)
Set the maximum number docs in a segment for it to be considered for merging. A segment can still reach more than max_docs, by merging many smaller ones.
sourcepub fn set_min_layer_size(&mut self, min_layer_size: u32)
pub fn set_min_layer_size(&mut self, min_layer_size: u32)
Set the minimum segment size under which all segment belong to the same level.
sourcepub fn set_level_log_size(&mut self, level_log_size: f64)
pub fn set_level_log_size(&mut self, level_log_size: f64)
Set the ratio between two consecutive levels.
Segments are grouped in levels according to their sizes. These levels are defined as intervals of exponentially growing sizes. level_log_size define the factor by which one should multiply the limit to reach a level, in order to get the limit to reach the following level.
sourcepub fn set_del_docs_ratio_before_merge(
&mut self,
del_docs_ratio_before_merge: f32
)
pub fn set_del_docs_ratio_before_merge( &mut self, del_docs_ratio_before_merge: f32 )
Set the ratio of deleted documents in a segment to tolerate.
If it is exceeded by any segment at a log level, a merge will be triggered for that level.
If there is a single segment at a level, we effectively end up expunging deleted documents from it.
§Panics
Panics if del_docs_ratio_before_merge is not within (0..1].
Trait Implementations§
source§impl Clone for LogMergePolicy
impl Clone for LogMergePolicy
source§fn clone(&self) -> LogMergePolicy
fn clone(&self) -> LogMergePolicy
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for LogMergePolicy
impl Debug for LogMergePolicy
source§impl Default for LogMergePolicy
impl Default for LogMergePolicy
source§fn default() -> LogMergePolicy
fn default() -> LogMergePolicy
source§impl MergePolicy for LogMergePolicy
impl MergePolicy for LogMergePolicy
source§fn compute_merge_candidates(
&self,
segments: &[SegmentMeta]
) -> Vec<MergeCandidate>
fn compute_merge_candidates( &self, segments: &[SegmentMeta] ) -> Vec<MergeCandidate>
Auto Trait Implementations§
impl Freeze for LogMergePolicy
impl RefUnwindSafe for LogMergePolicy
impl Send for LogMergePolicy
impl Sync for LogMergePolicy
impl Unpin for LogMergePolicy
impl UnwindSafe for LogMergePolicy
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.