Files
qdrant/docs/grpc/docs.md

112 KiB
Raw Blame History

Protocol Documentation

Table of Contents

Top

collections.proto

AliasDescription

Field Type Label Description
alias_name string Name of the alias
collection_name string Name of the collection

AliasOperations

Field Type Label Description
create_alias CreateAlias
rename_alias RenameAlias
delete_alias DeleteAlias

BinaryQuantization

Field Type Label Description
always_ram bool optional If true - quantized vectors always will be stored in RAM, ignoring the config of main storage

ChangeAliases

Field Type Label Description
actions AliasOperations repeated List of actions
timeout uint64 optional Wait timeout for operation commit in seconds, if not specified - default value will be supplied

CollectionClusterInfoRequest

Field Type Label Description
collection_name string Name of the collection

CollectionClusterInfoResponse

Field Type Label Description
peer_id uint64 ID of this peer
shard_count uint64 Total number of shards
local_shards LocalShardInfo repeated Local shards
remote_shards RemoteShardInfo repeated Remote shards
shard_transfers ShardTransferInfo repeated Shard transfers

CollectionConfig

Field Type Label Description
params CollectionParams Collection parameters
hnsw_config HnswConfigDiff Configuration of vector index
optimizer_config OptimizersConfigDiff Configuration of the optimizers
wal_config WalConfigDiff Configuration of the Write-Ahead-Log
quantization_config QuantizationConfig optional Configuration of the vector quantization

CollectionDescription

Field Type Label Description
name string Name of the collection

CollectionExists

Field Type Label Description
exists bool

CollectionExistsRequest

Field Type Label Description
collection_name string

CollectionExistsResponse

Field Type Label Description
result CollectionExists
time double Time spent to process

CollectionInfo

Field Type Label Description
status CollectionStatus operating condition of the collection
optimizer_status OptimizerStatus status of collection optimizers
vectors_count uint64 optional Approximate number of vectors in the collection
segments_count uint64 Number of independent segments
config CollectionConfig Configuration
payload_schema CollectionInfo.PayloadSchemaEntry repeated Collection data types
points_count uint64 optional Approximate number of points in the collection
indexed_vectors_count uint64 optional Approximate number of indexed vectors in the collection.

CollectionInfo.PayloadSchemaEntry

Field Type Label Description
key string
value PayloadSchemaInfo

CollectionOperationResponse

Field Type Label Description
result bool if operation made changes
time double Time spent to process

CollectionParams

Field Type Label Description
shard_number uint32 Number of shards in collection
on_disk_payload bool If true - point's payload will not be stored in memory
vectors_config VectorsConfig optional Configuration for vectors
replication_factor uint32 optional Number of replicas of each shard that network tries to maintain
write_consistency_factor uint32 optional How many replicas should apply the operation for us to consider it successful
read_fan_out_factor uint32 optional Fan-out every read request to these many additional remote nodes (and return first available response)
sharding_method ShardingMethod optional Sharding method
sparse_vectors_config SparseVectorConfig optional Configuration for sparse vectors

CollectionParamsDiff

Field Type Label Description
replication_factor uint32 optional Number of replicas of each shard that network tries to maintain
write_consistency_factor uint32 optional How many replicas should apply the operation for us to consider it successful
on_disk_payload bool optional If true - point's payload will not be stored in memory
read_fan_out_factor uint32 optional Fan-out every read request to these many additional remote nodes (and return first available response)

CreateAlias

Field Type Label Description
collection_name string Name of the collection
alias_name string New name of the alias

CreateCollection

Field Type Label Description
collection_name string Name of the collection
hnsw_config HnswConfigDiff optional Configuration of vector index
wal_config WalConfigDiff optional Configuration of the Write-Ahead-Log
optimizers_config OptimizersConfigDiff optional Configuration of the optimizers
shard_number uint32 optional Number of shards in the collection, default is 1 for standalone, otherwise equal to the number of nodes. Minimum is 1
on_disk_payload bool optional If true - point's payload will not be stored in memory
timeout uint64 optional Wait timeout for operation commit in seconds, if not specified - default value will be supplied
vectors_config VectorsConfig optional Configuration for vectors
replication_factor uint32 optional Number of replicas of each shard that network tries to maintain, default = 1
write_consistency_factor uint32 optional How many replicas should apply the operation for us to consider it successful, default = 1
init_from_collection string optional Specify name of the other collection to copy data from
quantization_config QuantizationConfig optional Quantization configuration of vector
sharding_method ShardingMethod optional Sharding method
sparse_vectors_config SparseVectorConfig optional Configuration for sparse vectors

CreateShardKey

Field Type Label Description
shard_key ShardKey User-defined shard key
shards_number uint32 optional Number of shards to create per shard key
replication_factor uint32 optional Number of replicas of each shard to create
placement uint64 repeated List of peer ids, allowed to create shards. If empty - all peers are allowed

CreateShardKeyRequest

Field Type Label Description
collection_name string Name of the collection
request CreateShardKey Request to create shard key
timeout uint64 optional Wait timeout for operation commit in seconds, if not specified - default value will be supplied

CreateShardKeyResponse

Field Type Label Description
result bool

DeleteAlias

Field Type Label Description
alias_name string Name of the alias

DeleteCollection

Field Type Label Description
collection_name string Name of the collection
timeout uint64 optional Wait timeout for operation commit in seconds, if not specified - default value will be supplied

DeleteShardKey

Field Type Label Description
shard_key ShardKey Shard key to delete

DeleteShardKeyRequest

Field Type Label Description
collection_name string Name of the collection
request DeleteShardKey Request to delete shard key
timeout uint64 optional Wait timeout for operation commit in seconds, if not specified - default value will be supplied

DeleteShardKeyResponse

Field Type Label Description
result bool

Disabled

GetCollectionInfoRequest

Field Type Label Description
collection_name string Name of the collection

GetCollectionInfoResponse

Field Type Label Description
result CollectionInfo
time double Time spent to process

HnswConfigDiff

Field Type Label Description
m uint64 optional Number of edges per node in the index graph. Larger the value - more accurate the search, more space required.
ef_construct uint64 optional Number of neighbours to consider during the index building. Larger the value - more accurate the search, more time required to build the index.
full_scan_threshold uint64 optional Minimal size (in KiloBytes) of vectors for additional payload-based indexing. If the payload chunk is smaller than full_scan_threshold additional indexing won't be used - in this case full-scan search should be preferred by query planner and additional indexing is not required. Note: 1 Kb = 1 vector of size 256
max_indexing_threads uint64 optional Number of parallel threads used for background index building. If 0 - automatically select from 8 to 16. Best to keep between 8 and 16 to prevent likelihood of building broken/inefficient HNSW graphs. On small CPUs, less threads are used.
on_disk bool optional Store HNSW index on disk. If set to false, the index will be stored in RAM.
payload_m uint64 optional Number of additional payload-aware links per node in the index graph. If not set - regular M parameter will be used.

IntegerIndexParams

Field Type Label Description
lookup bool If true - support direct lookups.
range bool If true - support ranges filters.

ListAliasesRequest

ListAliasesResponse

Field Type Label Description
aliases AliasDescription repeated
time double Time spent to process

ListCollectionAliasesRequest

Field Type Label Description
collection_name string Name of the collection

ListCollectionsRequest

ListCollectionsResponse

Field Type Label Description
collections CollectionDescription repeated
time double Time spent to process

LocalShardInfo

Field Type Label Description
shard_id uint32 Local shard id
points_count uint64 Number of points in the shard
state ReplicaState Is replica active
shard_key ShardKey optional User-defined shard key

MoveShard

Field Type Label Description
shard_id uint32 Local shard id
from_peer_id uint64
to_peer_id uint64
method ShardTransferMethod optional

OptimizerStatus

Field Type Label Description
ok bool
error string

OptimizersConfigDiff

Field Type Label Description
deleted_threshold double optional The minimal fraction of deleted vectors in a segment, required to perform segment optimization
vacuum_min_vector_number uint64 optional The minimal number of vectors in a segment, required to perform segment optimization
default_segment_number uint64 optional 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 | uint64 | optional | 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 | uint64 | optional | 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 | uint64 | optional | 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 | uint64 | optional | Interval between forced flushes. | | max_optimization_threads | uint64 | optional | 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. |

PayloadIndexParams

Field Type Label Description
text_index_params TextIndexParams Parameters for text index
integer_index_params IntegerIndexParams Parameters for integer index

PayloadSchemaInfo

Field Type Label Description
data_type PayloadSchemaType Field data type
params PayloadIndexParams optional Field index parameters
points uint64 optional Number of points indexed within this field indexed

ProductQuantization

Field Type Label Description
compression CompressionRatio Compression ratio
always_ram bool optional If true - quantized vectors always will be stored in RAM, ignoring the config of main storage

QuantizationConfig

Field Type Label Description
scalar ScalarQuantization
product ProductQuantization
binary BinaryQuantization

QuantizationConfigDiff

Field Type Label Description
scalar ScalarQuantization
product ProductQuantization
disabled Disabled
binary BinaryQuantization

RemoteShardInfo

Field Type Label Description
shard_id uint32 Local shard id
peer_id uint64 Remote peer id
state ReplicaState Is replica active
shard_key ShardKey optional User-defined shard key

RenameAlias

Field Type Label Description
old_alias_name string Name of the alias to rename
new_alias_name string Name of the alias

Replica

Field Type Label Description
shard_id uint32
peer_id uint64

ScalarQuantization

Field Type Label Description
type QuantizationType Type of quantization
quantile float optional Number of bits to use for quantization
always_ram bool optional If true - quantized vectors always will be stored in RAM, ignoring the config of main storage

ShardKey

Field Type Label Description
keyword string String key
number uint64 Number key

ShardTransferInfo

Field Type Label Description
shard_id uint32 Local shard id
from uint64
to uint64
sync bool If true transfer is a synchronization of a replicas; If false transfer is a moving of a shard from one peer to another

SparseIndexConfig

Field Type Label Description
full_scan_threshold uint64 optional Prefer a full scan search upto (excluding) this number of vectors. Note: this is number of vectors, not KiloBytes.
on_disk bool optional Store inverted index on disk. If set to false, the index will be stored in RAM.

SparseVectorConfig

Field Type Label Description
map SparseVectorConfig.MapEntry repeated

SparseVectorConfig.MapEntry

Field Type Label Description
key string
value SparseVectorParams

SparseVectorParams

Field Type Label Description
index SparseIndexConfig optional Configuration of sparse index

TextIndexParams

Field Type Label Description
tokenizer TokenizerType Tokenizer type
lowercase bool optional If true - all tokens will be lowercase
min_token_len uint64 optional Minimal token length
max_token_len uint64 optional Maximal token length

UpdateCollection

Field Type Label Description
collection_name string Name of the collection
optimizers_config OptimizersConfigDiff optional New configuration parameters for the collection. This operation is blocking, it will only proceed once all current optimizations are complete
timeout uint64 optional Wait timeout for operation commit in seconds if blocking, if not specified - default value will be supplied
params CollectionParamsDiff optional New configuration parameters for the collection
hnsw_config HnswConfigDiff optional New HNSW parameters for the collection index
vectors_config VectorsConfigDiff optional New vector parameters
quantization_config QuantizationConfigDiff optional Quantization configuration of vector
sparse_vectors_config SparseVectorConfig optional New sparse vector parameters

UpdateCollectionClusterSetupRequest

Field Type Label Description
collection_name string Name of the collection
move_shard MoveShard
replicate_shard MoveShard
abort_transfer MoveShard
drop_replica Replica
create_shard_key CreateShardKey
delete_shard_key DeleteShardKey
timeout uint64 optional Wait timeout for operation commit in seconds, if not specified - default value will be supplied

UpdateCollectionClusterSetupResponse

Field Type Label Description
result bool

VectorParams

Field Type Label Description
size uint64 Size of the vectors
distance Distance Distance function used for comparing vectors
hnsw_config HnswConfigDiff optional Configuration of vector HNSW graph. If omitted - the collection configuration will be used
quantization_config QuantizationConfig optional Configuration of vector quantization config. If omitted - the collection configuration will be used
on_disk bool optional If true - serve vectors from disk. If set to false, the vectors will be loaded in RAM.

VectorParamsDiff

Field Type Label Description
hnsw_config HnswConfigDiff optional Update params for HNSW index. If empty object - it will be unset
quantization_config QuantizationConfigDiff optional Update quantization params. If none - it is left unchanged.
on_disk bool optional If true - serve vectors from disk. If set to false, the vectors will be loaded in RAM.

VectorParamsDiffMap

Field Type Label Description
map VectorParamsDiffMap.MapEntry repeated

VectorParamsDiffMap.MapEntry

Field Type Label Description
key string
value VectorParamsDiff

VectorParamsMap

Field Type Label Description
map VectorParamsMap.MapEntry repeated

VectorParamsMap.MapEntry

Field Type Label Description
key string
value VectorParams

VectorsConfig

Field Type Label Description
params VectorParams
params_map VectorParamsMap

VectorsConfigDiff

Field Type Label Description
params VectorParamsDiff
params_map VectorParamsDiffMap

WalConfigDiff

Field Type Label Description
wal_capacity_mb uint64 optional Size of a single WAL block file
wal_segments_ahead uint64 optional Number of segments to create in advance

CollectionStatus

Name Number Description
UnknownCollectionStatus 0
Green 1 All segments are ready
Yellow 2 Optimization in process
Red 3 Something went wrong

CompressionRatio

Name Number Description
x4 0
x8 1
x16 2
x32 3
x64 4

Distance

Name Number Description
UnknownDistance 0
Cosine 1
Euclid 2
Dot 3
Manhattan 4

PayloadSchemaType

Name Number Description
UnknownType 0
Keyword 1
Integer 2
Float 3
Geo 4
Text 5
Bool 6
Datetime 7

QuantizationType

Name Number Description
UnknownQuantization 0
Int8 1

ReplicaState

Name Number Description
Active 0 Active and sound
Dead 1 Failed for some reason
Partial 2 The shard is partially loaded and is currently receiving data from other shards
Initializing 3 Collection is being created
Listener 4 A shard which receives data, but is not used for search; Useful for backup shards
PartialSnapshot 5 Snapshot shard transfer is in progress; Updates should not be sent to (and are ignored by) the shard

ShardTransferMethod

Name Number Description
StreamRecords 0
Snapshot 1

ShardingMethod

Name Number Description
Auto 0 Auto-sharding based on record ids
Custom 1 Shard by user-defined key

TokenizerType

Name Number Description
Unknown 0
Prefix 1
Whitespace 2
Word 3
Multilingual 4

Top

collections_service.proto

Collections

Method Name Request Type Response Type Description
Get GetCollectionInfoRequest GetCollectionInfoResponse Get detailed information about specified existing collection
List ListCollectionsRequest ListCollectionsResponse Get list name of all existing collections
Create CreateCollection CollectionOperationResponse Create new collection with given parameters
Update UpdateCollection CollectionOperationResponse Update parameters of the existing collection
Delete DeleteCollection CollectionOperationResponse Drop collection and all associated data
UpdateAliases ChangeAliases CollectionOperationResponse Update Aliases of the existing collection
ListCollectionAliases ListCollectionAliasesRequest ListAliasesResponse Get list of all aliases for a collection
ListAliases ListAliasesRequest ListAliasesResponse Get list of all aliases for all existing collections
CollectionClusterInfo CollectionClusterInfoRequest CollectionClusterInfoResponse Get cluster information for a collection
CollectionExists CollectionExistsRequest CollectionExistsResponse Check the existence of a collection
UpdateCollectionClusterSetup UpdateCollectionClusterSetupRequest UpdateCollectionClusterSetupResponse Update cluster setup for a collection
CreateShardKey CreateShardKeyRequest CreateShardKeyResponse Create shard key
DeleteShardKey DeleteShardKeyRequest DeleteShardKeyResponse Delete shard key

Top

health_check.proto

source: https://github.com/grpc/grpc/blob/master/doc/health-checking.md#service-definition

HealthCheckRequest

Field Type Label Description
service string

HealthCheckResponse

Field Type Label Description
status HealthCheckResponse.ServingStatus

HealthCheckResponse.ServingStatus

Name Number Description
UNKNOWN 0
SERVING 1
NOT_SERVING 2
SERVICE_UNKNOWN 3 Used only by the Watch method.

Health

Method Name Request Type Response Type Description
Check HealthCheckRequest HealthCheckResponse

Top

json_with_int.proto

ListValue

ListValue is a wrapper around a repeated field of values.

The JSON representation for ListValue is a JSON array.

Field Type Label Description
values Value repeated Repeated field of dynamically typed values.

Struct

Struct represents a structured data value, consisting of fields which map to dynamically typed values. In some languages, Struct might be supported by a native representation. For example, in scripting languages like JS a struct is represented as an object. The details of that representation are described together with the proto support for the language.

The JSON representation for Struct is a JSON object.

Field Type Label Description
fields Struct.FieldsEntry repeated Unordered map of dynamically typed values.

Struct.FieldsEntry

Field Type Label Description
key string
value Value

Value

Value represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of those variants, absence of any variant indicates an error.

The JSON representation for Value is a JSON value.

Field Type Label Description
null_value NullValue Represents a null value.
double_value double Represents a double value.
integer_value int64 Represents an integer value
string_value string Represents a string value.
bool_value bool Represents a boolean value.
struct_value Struct Represents a structured value.
list_value ListValue Represents a repeated Value.

NullValue

NullValue is a singleton enumeration to represent the null value for the Value type union.

The JSON representation for NullValue is JSON null.

Name Number Description
NULL_VALUE 0 Null value.

Top

points.proto

BatchResult

Field Type Label Description
result ScoredPoint repeated

ClearPayloadPoints

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
points PointsSelector Affected points
ordering WriteOrdering optional Write ordering guarantees
shard_key_selector ShardKeySelector optional Option for custom sharding to specify used shard keys

Condition

Field Type Label Description
field FieldCondition
is_empty IsEmptyCondition
has_id HasIdCondition
filter Filter
is_null IsNullCondition
nested NestedCondition

ContextExamplePair

Field Type Label Description
positive VectorExample
negative VectorExample

CountPoints

Field Type Label Description
collection_name string name of the collection
filter Filter Filter conditions - return only those points that satisfy the specified conditions
exact bool optional If true - return exact count, if false - return approximate count
read_consistency ReadConsistency optional Options for specifying read consistency guarantees
shard_key_selector ShardKeySelector optional Specify in which shards to look for the points, if not specified - look in all shards

CountResponse

Field Type Label Description
result CountResult
time double Time spent to process

CountResult

Field Type Label Description
count uint64

CreateFieldIndexCollection

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
field_name string Field name to index
field_type FieldType optional Field type.
field_index_params PayloadIndexParams optional Payload index params.
ordering WriteOrdering optional Write ordering guarantees

DatetimeRange

Field Type Label Description
lt google.protobuf.Timestamp optional
gt google.protobuf.Timestamp optional
gte google.protobuf.Timestamp optional
lte google.protobuf.Timestamp optional

DeleteFieldIndexCollection

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
field_name string Field name to delete
ordering WriteOrdering optional Write ordering guarantees

DeletePayloadPoints

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
keys string repeated List of keys to delete
points_selector PointsSelector optional Affected points
ordering WriteOrdering optional Write ordering guarantees
shard_key_selector ShardKeySelector optional Option for custom sharding to specify used shard keys

DeletePointVectors

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
points_selector PointsSelector Affected points
vectors VectorsSelector List of vector names to delete
ordering WriteOrdering optional Write ordering guarantees
shard_key_selector ShardKeySelector optional Option for custom sharding to specify used shard keys

DeletePoints

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
points PointsSelector Affected points
ordering WriteOrdering optional Write ordering guarantees
shard_key_selector ShardKeySelector optional Option for custom sharding to specify used shard keys

DiscoverBatchPoints

Field Type Label Description
collection_name string Name of the collection
discover_points DiscoverPoints repeated
read_consistency ReadConsistency optional Options for specifying read consistency guarantees
timeout uint64 optional If set, overrides global timeout setting for this request. Unit is seconds.

DiscoverBatchResponse

Field Type Label Description
result BatchResult repeated
time double Time spent to process

DiscoverPoints

Field Type Label Description
collection_name string name of the collection
target TargetVector Use this as the primary search objective
context ContextExamplePair repeated Search will be constrained by these pairs of examples
filter Filter Filter conditions - return only those points that satisfy the specified conditions
limit uint64 Max number of result
with_payload WithPayloadSelector Options for specifying which payload to include or not
params SearchParams Search config
offset uint64 optional Offset of the result
using string optional Define which vector to use for recommendation, if not specified - default vector
with_vectors WithVectorsSelector optional Options for specifying which vectors to include into response
lookup_from LookupLocation optional Name of the collection to use for points lookup, if not specified - use current collection
read_consistency ReadConsistency optional Options for specifying read consistency guarantees
timeout uint64 optional If set, overrides global timeout setting for this request. Unit is seconds.
shard_key_selector ShardKeySelector optional Specify in which shards to look for the points, if not specified - look in all shards

DiscoverResponse

Field Type Label Description
result ScoredPoint repeated
time double Time spent to process

FieldCondition

Field Type Label Description
key string
match Match Check if point has field with a given value
range Range Check if points value lies in a given range
geo_bounding_box GeoBoundingBox Check if points geolocation lies in a given area
geo_radius GeoRadius Check if geo point is within a given radius
values_count ValuesCount Check number of values for a specific field
geo_polygon GeoPolygon Check if geo point is within a given polygon
datetime_range DatetimeRange Check if datetime is within a given range

Filter

Field Type Label Description
should Condition repeated At least one of those conditions should match
must Condition repeated All conditions must match
must_not Condition repeated All conditions must NOT match
min_should MinShould optional At least minimum amount of given conditions should match

GeoBoundingBox

Field Type Label Description
top_left GeoPoint north-west corner
bottom_right GeoPoint south-east corner

GeoLineString

Field Type Label Description
points GeoPoint repeated Ordered sequence of GeoPoints representing the line

GeoPoint

Field Type Label Description
lon double
lat double

GeoPolygon

For a valid GeoPolygon, both the exterior and interior GeoLineStrings must consist of a minimum of 4 points. Additionally, the first and last points of each GeoLineString must be the same.

Field Type Label Description
exterior GeoLineString The exterior line bounds the surface
interiors GeoLineString repeated Interior lines (if present) bound holes within the surface

GeoRadius

Field Type Label Description
center GeoPoint Center of the circle
radius float In meters

GetPoints

Field Type Label Description
collection_name string name of the collection
ids PointId repeated List of points to retrieve
with_payload WithPayloadSelector Options for specifying which payload to include or not
with_vectors WithVectorsSelector optional Options for specifying which vectors to include into response
read_consistency ReadConsistency optional Options for specifying read consistency guarantees
shard_key_selector ShardKeySelector optional Specify in which shards to look for the points, if not specified - look in all shards

GetResponse

Field Type Label Description
result RetrievedPoint repeated
time double Time spent to process

GroupId

Field Type Label Description
unsigned_value uint64 Represents a double value.
integer_value int64 Represents an integer value
string_value string Represents a string value.

GroupsResult

Field Type Label Description
groups PointGroup repeated Groups

HasIdCondition

Field Type Label Description
has_id PointId repeated

IsEmptyCondition

Field Type Label Description
key string

IsNullCondition

Field Type Label Description
key string

LookupLocation

Field Type Label Description
collection_name string
vector_name string optional Which vector to use for search, if not specified - use default vector
shard_key_selector ShardKeySelector optional Specify in which shards to look for the points, if not specified - look in all shards

Match

Field Type Label Description
keyword string Match string keyword
integer int64 Match integer
boolean bool Match boolean
text string Match text
keywords RepeatedStrings Match multiple keywords
integers RepeatedIntegers Match multiple integers
except_integers RepeatedIntegers Match any other value except those integers
except_keywords RepeatedStrings Match any other value except those keywords

MinShould

Field Type Label Description
conditions Condition repeated
min_count uint64

NamedVectors

Field Type Label Description
vectors NamedVectors.VectorsEntry repeated

NamedVectors.VectorsEntry

Field Type Label Description
key string
value Vector

NestedCondition

Field Type Label Description
key string Path to nested object
filter Filter Filter condition

OrderBy

Field Type Label Description
key string Payload key to order by
direction Direction optional Ascending or descending order
start_from StartFrom optional Start from this value

PayloadExcludeSelector

Field Type Label Description
fields string repeated List of payload keys to exclude from the result

PayloadIncludeSelector

Field Type Label Description
fields string repeated List of payload keys to include into result

PointGroup

Field Type Label Description
id GroupId Group id
hits ScoredPoint repeated Points in the group
lookup RetrievedPoint Point(s) from the lookup collection that matches the group id

PointId

Field Type Label Description
num uint64 Numerical ID of the point
uuid string UUID

PointStruct

Field Type Label Description
id PointId
payload PointStruct.PayloadEntry repeated
vectors Vectors optional

PointStruct.PayloadEntry

Field Type Label Description
key string
value Value

PointVectors

Field Type Label Description
id PointId ID to update vectors for
vectors Vectors Named vectors to update, leave others intact

PointsIdsList

Field Type Label Description
ids PointId repeated

PointsOperationResponse

Field Type Label Description
result UpdateResult
time double Time spent to process

PointsSelector

Field Type Label Description
points PointsIdsList
filter Filter

PointsUpdateOperation

Field Type Label Description
upsert PointsUpdateOperation.PointStructList
delete_deprecated PointsSelector Deprecated.
set_payload PointsUpdateOperation.SetPayload
overwrite_payload PointsUpdateOperation.SetPayload
delete_payload PointsUpdateOperation.DeletePayload
clear_payload_deprecated PointsSelector Deprecated.
update_vectors PointsUpdateOperation.UpdateVectors
delete_vectors PointsUpdateOperation.DeleteVectors
delete_points PointsUpdateOperation.DeletePoints
clear_payload PointsUpdateOperation.ClearPayload

PointsUpdateOperation.ClearPayload

Field Type Label Description
points PointsSelector Affected points
shard_key_selector ShardKeySelector optional Option for custom sharding to specify used shard keys

PointsUpdateOperation.DeletePayload

Field Type Label Description
keys string repeated
points_selector PointsSelector optional Affected points
shard_key_selector ShardKeySelector optional Option for custom sharding to specify used shard keys

PointsUpdateOperation.DeletePoints

Field Type Label Description
points PointsSelector Affected points
shard_key_selector ShardKeySelector optional Option for custom sharding to specify used shard keys

PointsUpdateOperation.DeleteVectors

Field Type Label Description
points_selector PointsSelector Affected points
vectors VectorsSelector List of vector names to delete
shard_key_selector ShardKeySelector optional Option for custom sharding to specify used shard keys

PointsUpdateOperation.PointStructList

Field Type Label Description
points PointStruct repeated
shard_key_selector ShardKeySelector optional Option for custom sharding to specify used shard keys

PointsUpdateOperation.SetPayload

Field Type Label Description
payload PointsUpdateOperation.SetPayload.PayloadEntry repeated
points_selector PointsSelector optional Affected points
shard_key_selector ShardKeySelector optional Option for custom sharding to specify used shard keys

PointsUpdateOperation.SetPayload.PayloadEntry

Field Type Label Description
key string
value Value

PointsUpdateOperation.UpdateVectors

Field Type Label Description
points PointVectors repeated List of points and vectors to update
shard_key_selector ShardKeySelector optional Option for custom sharding to specify used shard keys

QuantizationSearchParams

Field Type Label Description
ignore bool optional If set to true, search will ignore quantized vector data
rescore bool optional If true, use original vectors to re-score top-k results. If ignored, qdrant decides automatically does rescore enabled or not.
oversampling double optional Oversampling factor for quantization.

Defines how many extra vectors should be pre-selected using quantized index, and then re-scored using original vectors.

For example, if oversampling is 2.4 and limit is 100, then 240 vectors will be pre-selected using quantized index, and then top-100 will be returned after re-scoring. |

Range

Field Type Label Description
lt double optional
gt double optional
gte double optional
lte double optional

ReadConsistency

Field Type Label Description
type ReadConsistencyType Common read consistency configurations
factor uint64 Send request to a specified number of nodes, and return points which are present on all of them

RecommendBatchPoints

Field Type Label Description
collection_name string Name of the collection
recommend_points RecommendPoints repeated
read_consistency ReadConsistency optional Options for specifying read consistency guarantees
timeout uint64 optional If set, overrides global timeout setting for this request. Unit is seconds.

RecommendBatchResponse

Field Type Label Description
result BatchResult repeated
time double Time spent to process

RecommendGroupsResponse

Field Type Label Description
result GroupsResult
time double Time spent to process

RecommendPointGroups

Field Type Label Description
collection_name string Name of the collection
positive PointId repeated Look for vectors closest to the vectors from these points
negative PointId repeated Try to avoid vectors like the vector from these points
filter Filter Filter conditions - return only those points that satisfy the specified conditions
limit uint32 Max number of groups in result
with_payload WithPayloadSelector Options for specifying which payload to include or not
params SearchParams Search config
score_threshold float optional If provided - cut off results with worse scores
using string optional Define which vector to use for recommendation, if not specified - default vector
with_vectors WithVectorsSelector optional Options for specifying which vectors to include into response
lookup_from LookupLocation optional Name of the collection to use for points lookup, if not specified - use current collection
group_by string Payload field to group by, must be a string or number field. If there are multiple values for the field, all of them will be used. One point can be in multiple groups.
group_size uint32 Maximum amount of points to return per group
read_consistency ReadConsistency optional Options for specifying read consistency guarantees
with_lookup WithLookup optional Options for specifying how to use the group id to lookup points in another collection
strategy RecommendStrategy optional How to use the example vectors to find the results
positive_vectors Vector repeated Look for vectors closest to those
negative_vectors Vector repeated Try to avoid vectors like this
timeout uint64 optional If set, overrides global timeout setting for this request. Unit is seconds.
shard_key_selector ShardKeySelector optional Specify in which shards to look for the points, if not specified - look in all shards

RecommendPoints

Field Type Label Description
collection_name string name of the collection
positive PointId repeated Look for vectors closest to the vectors from these points
negative PointId repeated Try to avoid vectors like the vector from these points
filter Filter Filter conditions - return only those points that satisfy the specified conditions
limit uint64 Max number of result
with_payload WithPayloadSelector Options for specifying which payload to include or not
params SearchParams Search config
score_threshold float optional If provided - cut off results with worse scores
offset uint64 optional Offset of the result
using string optional Define which vector to use for recommendation, if not specified - default vector
with_vectors WithVectorsSelector optional Options for specifying which vectors to include into response
lookup_from LookupLocation optional Name of the collection to use for points lookup, if not specified - use current collection
read_consistency ReadConsistency optional Options for specifying read consistency guarantees
strategy RecommendStrategy optional How to use the example vectors to find the results
positive_vectors Vector repeated Look for vectors closest to those
negative_vectors Vector repeated Try to avoid vectors like this
timeout uint64 optional If set, overrides global timeout setting for this request. Unit is seconds.
shard_key_selector ShardKeySelector optional Specify in which shards to look for the points, if not specified - look in all shards

RecommendResponse

Field Type Label Description
result ScoredPoint repeated
time double Time spent to process

RepeatedIntegers

Field Type Label Description
integers int64 repeated

RepeatedStrings

Field Type Label Description
strings string repeated

RetrievedPoint

Field Type Label Description
id PointId
payload RetrievedPoint.PayloadEntry repeated
vectors Vectors optional
shard_key ShardKey optional Shard key

RetrievedPoint.PayloadEntry

Field Type Label Description
key string
value Value

ScoredPoint

Field Type Label Description
id PointId Point id
payload ScoredPoint.PayloadEntry repeated Payload
score float Similarity score
version uint64 Last update operation applied to this point
vectors Vectors optional Vectors to search
shard_key ShardKey optional Shard key

ScoredPoint.PayloadEntry

Field Type Label Description
key string
value Value

ScrollPoints

Field Type Label Description
collection_name string
filter Filter Filter conditions - return only those points that satisfy the specified conditions
offset PointId optional Start with this ID
limit uint32 optional Max number of result
with_payload WithPayloadSelector Options for specifying which payload to include or not
with_vectors WithVectorsSelector optional Options for specifying which vectors to include into response
read_consistency ReadConsistency optional Options for specifying read consistency guarantees
shard_key_selector ShardKeySelector optional Specify in which shards to look for the points, if not specified - look in all shards
order_by OrderBy optional Order the records by a payload field

ScrollResponse

Field Type Label Description
next_page_offset PointId optional Use this offset for the next query
result RetrievedPoint repeated
time double Time spent to process

SearchBatchPoints

Field Type Label Description
collection_name string Name of the collection
search_points SearchPoints repeated
read_consistency ReadConsistency optional Options for specifying read consistency guarantees
timeout uint64 optional If set, overrides global timeout setting for this request. Unit is seconds.

SearchBatchResponse

Field Type Label Description
result BatchResult repeated
time double Time spent to process

SearchGroupsResponse

Field Type Label Description
result GroupsResult
time double Time spent to process

SearchParams

Field Type Label Description
hnsw_ef uint64 optional Params relevant to HNSW index. Size of the beam in a beam-search. Larger the value - more accurate the result, more time required for search.
exact bool optional Search without approximation. If set to true, search may run long but with exact results.
quantization QuantizationSearchParams optional If set to true, search will ignore quantized vector data
indexed_only bool optional If enabled, the engine will only perform search among indexed or small segments. Using this option prevents slow searches in case of delayed index, but does not guarantee that all uploaded vectors will be included in search results

SearchPointGroups

Field Type Label Description
collection_name string Name of the collection
vector float repeated Vector to compare against
filter Filter Filter conditions - return only those points that satisfy the specified conditions
limit uint32 Max number of result
with_payload WithPayloadSelector Options for specifying which payload to include or not
params SearchParams Search config
score_threshold float optional If provided - cut off results with worse scores
vector_name string optional Which vector to use for search, if not specified - use default vector
with_vectors WithVectorsSelector optional Options for specifying which vectors to include into response
group_by string Payload field to group by, must be a string or number field. If there are multiple values for the field, all of them will be used. One point can be in multiple groups.
group_size uint32 Maximum amount of points to return per group
read_consistency ReadConsistency optional Options for specifying read consistency guarantees
with_lookup WithLookup optional Options for specifying how to use the group id to lookup points in another collection
timeout uint64 optional If set, overrides global timeout setting for this request. Unit is seconds.
shard_key_selector ShardKeySelector optional Specify in which shards to look for the points, if not specified - look in all shards
sparse_indices SparseIndices optional

SearchPoints

Field Type Label Description
collection_name string name of the collection
vector float repeated vector
filter Filter Filter conditions - return only those points that satisfy the specified conditions
limit uint64 Max number of result
with_payload WithPayloadSelector Options for specifying which payload to include or not
params SearchParams Search config
score_threshold float optional If provided - cut off results with worse scores
offset uint64 optional Offset of the result
vector_name string optional Which vector to use for search, if not specified - use default vector
with_vectors WithVectorsSelector optional Options for specifying which vectors to include into response
read_consistency ReadConsistency optional Options for specifying read consistency guarantees
timeout uint64 optional If set, overrides global timeout setting for this request. Unit is seconds.
shard_key_selector ShardKeySelector optional Specify in which shards to look for the points, if not specified - look in all shards
sparse_indices SparseIndices optional

SearchResponse

Field Type Label Description
result ScoredPoint repeated
time double Time spent to process

SetPayloadPoints

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
payload SetPayloadPoints.PayloadEntry repeated New payload values
points_selector PointsSelector optional Affected points
ordering WriteOrdering optional Write ordering guarantees
shard_key_selector ShardKeySelector optional Option for custom sharding to specify used shard keys

SetPayloadPoints.PayloadEntry

Field Type Label Description
key string
value Value

ShardKeySelector


----------------- ShardKeySelector ----------

Field Type Label Description
shard_keys ShardKey repeated List of shard keys which should be used in the request

SparseIndices

Field Type Label Description
data uint32 repeated

StartFrom

Field Type Label Description
float double
integer int64
timestamp google.protobuf.Timestamp
datetime string

TargetVector

Field Type Label Description
single VectorExample

UpdateBatchPoints

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
operations PointsUpdateOperation repeated
ordering WriteOrdering optional Write ordering guarantees

UpdateBatchResponse

Field Type Label Description
result UpdateResult repeated
time double Time spent to process

UpdatePointVectors

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
points PointVectors repeated List of points and vectors to update
ordering WriteOrdering optional Write ordering guarantees
shard_key_selector ShardKeySelector optional Option for custom sharding to specify used shard keys

UpdateResult

Field Type Label Description
operation_id uint64 optional Number of operation
status UpdateStatus Operation status

UpsertPoints

Field Type Label Description
collection_name string name of the collection
wait bool optional Wait until the changes have been applied?
points PointStruct repeated
ordering WriteOrdering optional Write ordering guarantees
shard_key_selector ShardKeySelector optional Option for custom sharding to specify used shard keys

ValuesCount

Field Type Label Description
lt uint64 optional
gt uint64 optional
gte uint64 optional
lte uint64 optional

Vector

Field Type Label Description
data float repeated
indices SparseIndices optional

VectorExample

Field Type Label Description
id PointId
vector Vector

Vectors

Field Type Label Description
vector Vector
vectors NamedVectors

VectorsSelector

Field Type Label Description
names string repeated List of vectors to include into result

WithLookup

Field Type Label Description
collection string Name of the collection to use for points lookup
with_payload WithPayloadSelector optional Options for specifying which payload to include (or not)
with_vectors WithVectorsSelector optional Options for specifying which vectors to include (or not)

WithPayloadSelector

Field Type Label Description
enable bool If true - return all payload, if false - none
include PayloadIncludeSelector
exclude PayloadExcludeSelector

WithVectorsSelector

Field Type Label Description
enable bool If true - return all vectors, if false - none
include VectorsSelector List of payload keys to include into result

WriteOrdering

Field Type Label Description
type WriteOrderingType Write ordering guarantees

Direction

Name Number Description
Asc 0
Desc 1

FieldType

Name Number Description
FieldTypeKeyword 0
FieldTypeInteger 1
FieldTypeFloat 2
FieldTypeGeo 3
FieldTypeText 4
FieldTypeBool 5
FieldTypeDatetime 6

ReadConsistencyType

Name Number Description
All 0 Send request to all nodes and return points which are present on all of them
Majority 1 Send requests to all nodes and return points which are present on majority of them
Quorum 2 Send requests to half + 1 nodes, return points which are present on all of them

RecommendStrategy

How to use positive and negative vectors to find the results, default is AverageVector:

Name Number Description
AverageVector 0 Average positive and negative vectors and create a single query with the formula query = avg_pos &#43; avg_pos - avg_neg. Then performs normal search.
BestScore 1 Uses custom search objective. Each candidate is compared against all examples, its score is then chosen from the max(max_pos_score, max_neg_score). If the max_neg_score is chosen then it is squared and negated.

UpdateStatus

Name Number Description
UnknownUpdateStatus 0
Acknowledged 1 Update is received, but not processed yet
Completed 2 Update is applied and ready for search

WriteOrderingType

Name Number Description
Weak 0 Write operations may be reordered, works faster, default
Medium 1 Write operations go through dynamically selected leader, may be inconsistent for a short period of time in case of leader change
Strong 2 Write operations go through the permanent leader, consistent, but may be unavailable if leader is down

Top

points_service.proto

Points

Method Name Request Type Response Type Description
Upsert UpsertPoints PointsOperationResponse Perform insert + updates on points. If a point with a given ID already exists - it will be overwritten.
Delete DeletePoints PointsOperationResponse Delete points
Get GetPoints GetResponse Retrieve points
UpdateVectors UpdatePointVectors PointsOperationResponse Update named vectors for point
DeleteVectors DeletePointVectors PointsOperationResponse Delete named vectors for points
SetPayload SetPayloadPoints PointsOperationResponse Set payload for points
OverwritePayload SetPayloadPoints PointsOperationResponse Overwrite payload for points
DeletePayload DeletePayloadPoints PointsOperationResponse Delete specified key payload for points
ClearPayload ClearPayloadPoints PointsOperationResponse Remove all payload for specified points
CreateFieldIndex CreateFieldIndexCollection PointsOperationResponse Create index for field in collection
DeleteFieldIndex DeleteFieldIndexCollection PointsOperationResponse Delete field index for collection
Search SearchPoints SearchResponse Retrieve closest points based on vector similarity and given filtering conditions
SearchBatch SearchBatchPoints SearchBatchResponse Retrieve closest points based on vector similarity and given filtering conditions
SearchGroups SearchPointGroups SearchGroupsResponse Retrieve closest points based on vector similarity and given filtering conditions, grouped by a given field
Scroll ScrollPoints ScrollResponse Iterate over all or filtered points
Recommend RecommendPoints RecommendResponse Look for the points which are closer to stored positive examples and at the same time further to negative examples.
RecommendBatch RecommendBatchPoints RecommendBatchResponse Look for the points which are closer to stored positive examples and at the same time further to negative examples.
RecommendGroups RecommendPointGroups RecommendGroupsResponse Look for the points which are closer to stored positive examples and at the same time further to negative examples, grouped by a given field
Discover DiscoverPoints DiscoverResponse Use context and a target to find the most similar points to the target, constrained by the context.

When using only the context (without a target), a special search - called context search - is performed where pairs of points are used to generate a loss that guides the search towards the zone where most positive examples overlap. This means that the score minimizes the scenario of finding a point closer to a negative than to a positive part of a pair.

Since the score of a context relates to loss, the maximum score a point can get is 0.0, and it becomes normal that many points can have a score of 0.0.

When using target (with or without context), the score behaves a little different: The integer part of the score represents the rank with respect to the context, while the decimal part of the score relates to the distance to the target. The context part of the score for each pair is calculated +1 if the point is closer to a positive than to a negative part of a pair, and -1 otherwise. | | DiscoverBatch | DiscoverBatchPoints | DiscoverBatchResponse | Batch request points based on { positive, negative } pairs of examples, and/or a target | | Count | CountPoints | CountResponse | Count points in collection with given filtering conditions | | UpdateBatch | UpdateBatchPoints | UpdateBatchResponse | Perform multiple update operations in one request |

Top

qdrant.proto

HealthCheckReply

Field Type Label Description
title string
version string
commit string optional

HealthCheckRequest

Qdrant

Method Name Request Type Response Type Description
HealthCheck HealthCheckRequest HealthCheckReply

Top

qdrant_internal_service.proto

GetConsensusCommitRequest

GetConsensusCommitResponse

Field Type Label Description
commit int64 Raft commit as u64
term int64 Raft term as u64

WaitOnConsensusCommitRequest

Field Type Label Description
commit int64 Raft commit as u64
term int64 Raft term as u64
timeout int64 Timeout in seconds

WaitOnConsensusCommitResponse

Field Type Label Description
ok bool False if commit/term is diverged and never reached or if timed out.

QdrantInternal

Method Name Request Type Response Type Description
GetConsensusCommit GetConsensusCommitRequest GetConsensusCommitResponse Get current commit and term on the target node.
WaitOnConsensusCommit WaitOnConsensusCommitRequest WaitOnConsensusCommitResponse Wait until the target node reached the given commit ID.

Top

snapshots_service.proto

CreateFullSnapshotRequest

CreateSnapshotRequest

Field Type Label Description
collection_name string Name of the collection

CreateSnapshotResponse

Field Type Label Description
snapshot_description SnapshotDescription
time double Time spent to process

DeleteFullSnapshotRequest

Field Type Label Description
snapshot_name string Name of the full snapshot

DeleteSnapshotRequest

Field Type Label Description
collection_name string Name of the collection
snapshot_name string Name of the collection snapshot

DeleteSnapshotResponse

Field Type Label Description
time double Time spent to process

ListFullSnapshotsRequest

ListSnapshotsRequest

Field Type Label Description
collection_name string Name of the collection

ListSnapshotsResponse

Field Type Label Description
snapshot_descriptions SnapshotDescription repeated
time double Time spent to process

SnapshotDescription

Field Type Label Description
name string Name of the snapshot
creation_time google.protobuf.Timestamp Creation time of the snapshot
size int64 Size of the snapshot in bytes
checksum string optional SHA256 digest of the snapshot file

Snapshots

Method Name Request Type Response Type Description
Create CreateSnapshotRequest CreateSnapshotResponse Create collection snapshot
List ListSnapshotsRequest ListSnapshotsResponse List collection snapshots
Delete DeleteSnapshotRequest DeleteSnapshotResponse Delete collection snapshot
CreateFull CreateFullSnapshotRequest CreateSnapshotResponse Create full storage snapshot
ListFull ListFullSnapshotsRequest ListSnapshotsResponse List full storage snapshots
DeleteFull DeleteFullSnapshotRequest DeleteSnapshotResponse Delete full storage snapshot

Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)