class Qdrant::Api::OptimizersConfig

Included Modules

Defined in:

qdrant-api/models/optimizers_config.cr

Constructors

Instance Method Summary

Macros inherited from module Qdrant::Api::Validation

validates(name, klass, nilable, **rules) validates

Instance methods inherited from module Qdrant::Api::Serializable

eql?(other) eql?, to_body : Hash(String, JSON::Any) to_body, to_h : Hash(String, JSON::Any) to_h, to_s(io : IO) : Nil to_s

Constructor Detail

def self.new(ctx : YAML::ParseContext, node : YAML::Nodes::Node) #

[View source]
def self.new(default_segment_number : Int32, flush_interval_sec : Int32, deleted_threshold : Float64 | Nil = 0.2, vacuum_min_vector_number : Int32 | Nil = 1000, max_segment_size : Int32 | Nil = nil, memmap_threshold : Int32 | Nil = nil, indexing_threshold : Int32 | Nil = nil, max_optimization_threads : Int32 | Nil = nil, prevent_unoptimized : Bool | Nil = nil) #

Initializes the object @param [Hash] attributes Model attributes in the form of hash


[View source]
def self.new(pull : JSON::PullParser) #

[View source]
def self.new(*, __pull_for_json_serializable pull : JSON::PullParser) #

[View source]
def self.new(*, __context_for_yaml_serializable ctx : YAML::ParseContext, __node_for_yaml_serializable node : YAML::Nodes::Node) #

[View source]

Instance Method Detail

def ==(other : self) #
Description copied from class Reference

Returns true if this reference is the same as other. Invokes same?.


def default_segment_number : Int32 #

Required properties Target amount of segments 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 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. If default_segment_number = 0, will be automatically selected by the number of available CPUs.


[View source]
def default_segment_number=(value : Int32) #

Required properties Target amount of segments 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 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. If default_segment_number = 0, will be automatically selected by the number of available CPUs.


[View source]
def default_segment_number_validation_error(value) : String | Nil #

[View source]
def deleted_threshold : Float64 | Nil #

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


[View source]
def deleted_threshold=(value : Float64 | Nil) #

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


[View source]
def deleted_threshold_validation_error(value) : String | Nil #

[View source]
def flush_interval_sec : Int32 #

Minimum interval between forced flushes.


[View source]
def flush_interval_sec=(value : Int32) #

Minimum interval between forced flushes.


[View source]
def flush_interval_sec_validation_error(value) : String | Nil #

[View source]
def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)


def indexing_threshold : Int32 | Nil #

Maximum size (in kilobytes) of vectors allowed for plain index, exceeding this threshold will enable vector indexing Default value is 10,000, based on experiments and observations. To disable vector indexing, set to 0. Note: 1kB = 1 vector of size 256.


[View source]
def indexing_threshold=(value : Int32 | Nil) #

Maximum size (in kilobytes) of vectors allowed for plain index, exceeding this threshold will enable vector indexing Default value is 10,000, based on experiments and observations. To disable vector indexing, set to 0. Note: 1kB = 1 vector of size 256.


[View source]
def indexing_threshold_validation_error(value) : String | Nil #

[View source]
def list_invalid_properties #

Show invalid properties with the reasons. Usually used together with valid? @return Array for valid properties with the reasons


[View source]
def max_optimization_threads : Int32 | Nil #

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.


[View source]
def max_optimization_threads=(value : Int32 | Nil) #

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.


[View source]
def max_optimization_threads_validation_error(value) : String | Nil #

[View source]
def max_segment_size : Int32 | Nil #

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.


[View source]
def max_segment_size=(value : Int32 | Nil) #

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.


[View source]
def max_segment_size_validation_error(value) : String | Nil #

[View source]
def memmap_threshold : Int32 | Nil #

Maximum size (in kilobytes) of vectors to store in-memory per segment. Segments larger than this threshold will be stored as read-only memmapped 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. Internally it will use the largest threshold possible. Note: 1Kb = 1 vector of size 256


[View source]
def memmap_threshold=(value : Int32 | Nil) #

Maximum size (in kilobytes) of vectors to store in-memory per segment. Segments larger than this threshold will be stored as read-only memmapped 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. Internally it will use the largest threshold possible. Note: 1Kb = 1 vector of size 256


[View source]
def memmap_threshold_validation_error(value) : String | Nil #

[View source]
def prevent_unoptimized : Bool | Nil #

If enabled, the service will try to prevent the creation of large unoptimized segments. When enabled, new points written to segments larger than the indexing threshold are stored as "deferred points": they are persisted in the WAL and segments, but excluded from read/search results until the corresponding segments are optimized (e.g. indexed, quantized, or moved to mmap storage). Update requests with wait=true will only return after the deferred points become visible, which may significantly increase the perceived latency between submitting an update and its completion. Update requests with wait=false are not affected. Default is disabled.


[View source]
def prevent_unoptimized=(prevent_unoptimized : Bool | Nil) #

If enabled, the service will try to prevent the creation of large unoptimized segments. When enabled, new points written to segments larger than the indexing threshold are stored as "deferred points": they are persisted in the WAL and segments, but excluded from read/search results until the corresponding segments are optimized (e.g. indexed, quantized, or moved to mmap storage). Update requests with wait=true will only return after the deferred points become visible, which may significantly increase the perceived latency between submitting an update and its completion. Update requests with wait=false are not affected. Default is disabled.


[View source]
def vacuum_min_vector_number : Int32 | Nil #

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


[View source]
def vacuum_min_vector_number=(value : Int32 | Nil) #

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


[View source]
def vacuum_min_vector_number_validation_error(value) : String | Nil #

[View source]
def valid? #

Check to see if the all the properties in the model are valid @return true if the model is valid


[View source]