qdrant_client::qdrant

Struct OptimizersConfigDiff

source
pub struct OptimizersConfigDiff {
    pub deleted_threshold: Option<f64>,
    pub vacuum_min_vector_number: Option<u64>,
    pub default_segment_number: Option<u64>,
    pub max_segment_size: Option<u64>,
    pub memmap_threshold: Option<u64>,
    pub indexing_threshold: Option<u64>,
    pub flush_interval_sec: Option<u64>,
    pub max_optimization_threads: Option<u64>,
}

Fields§

§deleted_threshold: Option<f64>

The minimal fraction of deleted vectors in a segment, required to perform segment optimization

§vacuum_min_vector_number: Option<u64>

The minimal number of vectors in a segment, required to perform segment optimization

§default_segment_number: Option<u64>

Target amount of segments the optimizer will try to keep. Real amount of segments may vary depending on multiple parameters:

  • Amount of stored points.
  • Current write RPS.

It is recommended to select the default number of segments as a factor of the number of search threads, so that each segment would be handled evenly by one of the threads.

§max_segment_size: Option<u64>

Do not create segments larger this size (in kilobytes). Large segments might require disproportionately long indexation times, therefore it makes sense to limit the size of segments.

If indexing speed is more important - make this parameter lower. If search speed is more important - make this parameter higher. Note: 1Kb = 1 vector of size 256 If not set, will be automatically selected considering the number of available CPUs.

§memmap_threshold: Option<u64>

Maximum size (in kilobytes) of vectors to store in-memory per segment. Segments larger than this threshold will be stored as read-only memmaped file.

Memmap storage is disabled by default, to enable it, set this threshold to a reasonable value.

To disable memmap storage, set this to 0.

Note: 1Kb = 1 vector of size 256

§indexing_threshold: Option<u64>

Maximum size (in kilobytes) of vectors allowed for plain index, exceeding this threshold will enable vector indexing

Default value is 20,000, based on <https://github.com/google-research/google-research/blob/master/scann/docs/algorithms.md.>

To disable vector indexing, set to 0.

Note: 1kB = 1 vector of size 256.

§flush_interval_sec: Option<u64>

Interval between forced flushes.

§max_optimization_threads: Option<u64>

Max number of threads (jobs) for running optimizations per shard. Note: each optimization job will also use max_indexing_threads threads by itself for index building. If null - have no limit and choose dynamically to saturate CPU. If 0 - no optimization threads, optimizations will be disabled.

Implementations§

source§

impl OptimizersConfigDiff

source

pub fn deleted_threshold(&self) -> f64

Returns the value of deleted_threshold, or the default value if deleted_threshold is unset.

source

pub fn vacuum_min_vector_number(&self) -> u64

Returns the value of vacuum_min_vector_number, or the default value if vacuum_min_vector_number is unset.

source

pub fn default_segment_number(&self) -> u64

Returns the value of default_segment_number, or the default value if default_segment_number is unset.

source

pub fn max_segment_size(&self) -> u64

Returns the value of max_segment_size, or the default value if max_segment_size is unset.

source

pub fn memmap_threshold(&self) -> u64

Returns the value of memmap_threshold, or the default value if memmap_threshold is unset.

source

pub fn indexing_threshold(&self) -> u64

Returns the value of indexing_threshold, or the default value if indexing_threshold is unset.

source

pub fn flush_interval_sec(&self) -> u64

Returns the value of flush_interval_sec, or the default value if flush_interval_sec is unset.

source

pub fn max_optimization_threads(&self) -> u64

Returns the value of max_optimization_threads, or the default value if max_optimization_threads is unset.

Trait Implementations§

source§

impl Clone for OptimizersConfigDiff

source§

fn clone(&self) -> OptimizersConfigDiff

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 Debug for OptimizersConfigDiff

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for OptimizersConfigDiff

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl From<OptimizersConfigDiffBuilder> for OptimizersConfigDiff

source§

fn from(value: OptimizersConfigDiffBuilder) -> Self

Converts to this type from the input type.
source§

impl Message for OptimizersConfigDiff

source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message to a buffer. Read more
source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
source§

fn encode_length_delimited( &self, buf: &mut impl BufMut, ) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
source§

fn decode(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes an instance of the message from a buffer. Read more
source§

fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes a length-delimited instance of the message from the buffer.
source§

fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
source§

fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
source§

impl PartialEq for OptimizersConfigDiff

source§

fn eq(&self, other: &OptimizersConfigDiff) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for OptimizersConfigDiff

source§

impl StructuralPartialEq for OptimizersConfigDiff

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> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit #126799)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

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

source§

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

source§

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

source§

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<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more