qdrant_client::qdrant::points_server

Trait Points

source
pub trait Points:
    Send
    + Sync
    + 'static {
Show 28 methods // Required methods fn upsert<'life0, 'async_trait>( &'life0 self, request: Request<UpsertPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn delete<'life0, 'async_trait>( &'life0 self, request: Request<DeletePoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn get<'life0, 'async_trait>( &'life0 self, request: Request<GetPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn update_vectors<'life0, 'async_trait>( &'life0 self, request: Request<UpdatePointVectors>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn delete_vectors<'life0, 'async_trait>( &'life0 self, request: Request<DeletePointVectors>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn set_payload<'life0, 'async_trait>( &'life0 self, request: Request<SetPayloadPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn overwrite_payload<'life0, 'async_trait>( &'life0 self, request: Request<SetPayloadPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn delete_payload<'life0, 'async_trait>( &'life0 self, request: Request<DeletePayloadPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn clear_payload<'life0, 'async_trait>( &'life0 self, request: Request<ClearPayloadPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn create_field_index<'life0, 'async_trait>( &'life0 self, request: Request<CreateFieldIndexCollection>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn delete_field_index<'life0, 'async_trait>( &'life0 self, request: Request<DeleteFieldIndexCollection>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn search<'life0, 'async_trait>( &'life0 self, request: Request<SearchPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<SearchResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn search_batch<'life0, 'async_trait>( &'life0 self, request: Request<SearchBatchPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<SearchBatchResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn search_groups<'life0, 'async_trait>( &'life0 self, request: Request<SearchPointGroups>, ) -> Pin<Box<dyn Future<Output = Result<Response<SearchGroupsResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn scroll<'life0, 'async_trait>( &'life0 self, request: Request<ScrollPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<ScrollResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn recommend<'life0, 'async_trait>( &'life0 self, request: Request<RecommendPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<RecommendResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn recommend_batch<'life0, 'async_trait>( &'life0 self, request: Request<RecommendBatchPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<RecommendBatchResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn recommend_groups<'life0, 'async_trait>( &'life0 self, request: Request<RecommendPointGroups>, ) -> Pin<Box<dyn Future<Output = Result<Response<RecommendGroupsResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn discover<'life0, 'async_trait>( &'life0 self, request: Request<DiscoverPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<DiscoverResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn discover_batch<'life0, 'async_trait>( &'life0 self, request: Request<DiscoverBatchPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<DiscoverBatchResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn count<'life0, 'async_trait>( &'life0 self, request: Request<CountPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<CountResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn update_batch<'life0, 'async_trait>( &'life0 self, request: Request<UpdateBatchPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateBatchResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn query<'life0, 'async_trait>( &'life0 self, request: Request<QueryPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<QueryResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn query_batch<'life0, 'async_trait>( &'life0 self, request: Request<QueryBatchPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<QueryBatchResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn query_groups<'life0, 'async_trait>( &'life0 self, request: Request<QueryPointGroups>, ) -> Pin<Box<dyn Future<Output = Result<Response<QueryGroupsResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn facet<'life0, 'async_trait>( &'life0 self, request: Request<FacetCounts>, ) -> Pin<Box<dyn Future<Output = Result<Response<FacetResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn search_matrix_pairs<'life0, 'async_trait>( &'life0 self, request: Request<SearchMatrixPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<SearchMatrixPairsResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn search_matrix_offsets<'life0, 'async_trait>( &'life0 self, request: Request<SearchMatrixPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<SearchMatrixOffsetsResponse>, Status>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait;
}
Expand description

Generated trait containing gRPC methods that should be implemented for use with PointsServer.

Required Methods§

source

fn upsert<'life0, 'async_trait>( &'life0 self, request: Request<UpsertPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Perform insert + updates on points. If a point with a given ID already exists - it will be overwritten.

source

fn delete<'life0, 'async_trait>( &'life0 self, request: Request<DeletePoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Delete points

source

fn get<'life0, 'async_trait>( &'life0 self, request: Request<GetPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<GetResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieve points

source

fn update_vectors<'life0, 'async_trait>( &'life0 self, request: Request<UpdatePointVectors>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Update named vectors for point

source

fn delete_vectors<'life0, 'async_trait>( &'life0 self, request: Request<DeletePointVectors>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Delete named vectors for points

source

fn set_payload<'life0, 'async_trait>( &'life0 self, request: Request<SetPayloadPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Set payload for points

source

fn overwrite_payload<'life0, 'async_trait>( &'life0 self, request: Request<SetPayloadPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Overwrite payload for points

source

fn delete_payload<'life0, 'async_trait>( &'life0 self, request: Request<DeletePayloadPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Delete specified key payload for points

source

fn clear_payload<'life0, 'async_trait>( &'life0 self, request: Request<ClearPayloadPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Remove all payload for specified points

source

fn create_field_index<'life0, 'async_trait>( &'life0 self, request: Request<CreateFieldIndexCollection>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Create index for field in collection

source

fn delete_field_index<'life0, 'async_trait>( &'life0 self, request: Request<DeleteFieldIndexCollection>, ) -> Pin<Box<dyn Future<Output = Result<Response<PointsOperationResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Delete field index for collection

source

fn search<'life0, 'async_trait>( &'life0 self, request: Request<SearchPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<SearchResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieve closest points based on vector similarity and given filtering conditions

source

fn search_batch<'life0, 'async_trait>( &'life0 self, request: Request<SearchBatchPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<SearchBatchResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieve closest points based on vector similarity and given filtering conditions

source

fn search_groups<'life0, 'async_trait>( &'life0 self, request: Request<SearchPointGroups>, ) -> Pin<Box<dyn Future<Output = Result<Response<SearchGroupsResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Retrieve closest points based on vector similarity and given filtering conditions, grouped by a given field

source

fn scroll<'life0, 'async_trait>( &'life0 self, request: Request<ScrollPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<ScrollResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Iterate over all or filtered points

source

fn recommend<'life0, 'async_trait>( &'life0 self, request: Request<RecommendPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<RecommendResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Look for the points which are closer to stored positive examples and at the same time further to negative examples.

source

fn recommend_batch<'life0, 'async_trait>( &'life0 self, request: Request<RecommendBatchPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<RecommendBatchResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Look for the points which are closer to stored positive examples and at the same time further to negative examples.

source

fn recommend_groups<'life0, 'async_trait>( &'life0 self, request: Request<RecommendPointGroups>, ) -> Pin<Box<dyn Future<Output = Result<Response<RecommendGroupsResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

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

source

fn discover<'life0, 'async_trait>( &'life0 self, request: Request<DiscoverPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<DiscoverResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

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.

source

fn discover_batch<'life0, 'async_trait>( &'life0 self, request: Request<DiscoverBatchPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<DiscoverBatchResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Batch request points based on { positive, negative } pairs of examples, and/or a target

source

fn count<'life0, 'async_trait>( &'life0 self, request: Request<CountPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<CountResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Count points in collection with given filtering conditions

source

fn update_batch<'life0, 'async_trait>( &'life0 self, request: Request<UpdateBatchPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<UpdateBatchResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Perform multiple update operations in one request

source

fn query<'life0, 'async_trait>( &'life0 self, request: Request<QueryPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<QueryResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Universally query points. This endpoint covers all capabilities of search, recommend, discover, filters. But also enables hybrid and multi-stage queries.

source

fn query_batch<'life0, 'async_trait>( &'life0 self, request: Request<QueryBatchPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<QueryBatchResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Universally query points in a batch fashion. This endpoint covers all capabilities of search, recommend, discover, filters. But also enables hybrid and multi-stage queries.

source

fn query_groups<'life0, 'async_trait>( &'life0 self, request: Request<QueryPointGroups>, ) -> Pin<Box<dyn Future<Output = Result<Response<QueryGroupsResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Universally query points in a group fashion. This endpoint covers all capabilities of search, recommend, discover, filters. But also enables hybrid and multi-stage queries.

source

fn facet<'life0, 'async_trait>( &'life0 self, request: Request<FacetCounts>, ) -> Pin<Box<dyn Future<Output = Result<Response<FacetResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Perform facet counts. For each value in the field, count the number of points that have this value and match the conditions.

source

fn search_matrix_pairs<'life0, 'async_trait>( &'life0 self, request: Request<SearchMatrixPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<SearchMatrixPairsResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Compute distance matrix for sampled points with a pair based output format

source

fn search_matrix_offsets<'life0, 'async_trait>( &'life0 self, request: Request<SearchMatrixPoints>, ) -> Pin<Box<dyn Future<Output = Result<Response<SearchMatrixOffsetsResponse>, Status>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Compute distance matrix for sampled points with an offset based output format

Implementors§