pub struct ColumnUpsertRequest {
pub ids: Vec<String>,
pub vectors: Vec<Vec<f32>>,
pub attributes: HashMap<String, Vec<Value>>,
pub ttl_seconds: Option<u64>,
pub dimension: Option<usize>,
}Expand description
Column-based upsert request (Turbopuffer-inspired)
This format is more efficient for bulk upserts as it avoids repeating field names for each vector. All arrays must have equal length.
§Example
use dakera_client::ColumnUpsertRequest;
use std::collections::HashMap;
let request = ColumnUpsertRequest::new(
vec!["id1".to_string(), "id2".to_string()],
vec![vec![0.1, 0.2, 0.3], vec![0.4, 0.5, 0.6]],
);Fields§
§ids: Vec<String>Array of vector IDs (required)
vectors: Vec<Vec<f32>>Array of vectors (required for vector namespaces)
attributes: HashMap<String, Vec<Value>>Additional attributes as columns (optional) Each key is an attribute name, value is array of attribute values
ttl_seconds: Option<u64>TTL in seconds for all vectors (optional)
dimension: Option<usize>Expected dimension (optional, for validation)
Implementations§
Source§impl ColumnUpsertRequest
impl ColumnUpsertRequest
Sourcepub fn new(ids: Vec<String>, vectors: Vec<Vec<f32>>) -> Self
pub fn new(ids: Vec<String>, vectors: Vec<Vec<f32>>) -> Self
Create a new column upsert request
Sourcepub fn with_attribute(self, name: impl Into<String>, values: Vec<Value>) -> Self
pub fn with_attribute(self, name: impl Into<String>, values: Vec<Value>) -> Self
Add an attribute column
Sourcepub fn with_dimension(self, dim: usize) -> Self
pub fn with_dimension(self, dim: usize) -> Self
Set expected dimension for validation
Trait Implementations§
Source§impl Clone for ColumnUpsertRequest
impl Clone for ColumnUpsertRequest
Source§fn clone(&self) -> ColumnUpsertRequest
fn clone(&self) -> ColumnUpsertRequest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ColumnUpsertRequest
impl Debug for ColumnUpsertRequest
Source§impl<'de> Deserialize<'de> for ColumnUpsertRequest
impl<'de> Deserialize<'de> for ColumnUpsertRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ColumnUpsertRequest
impl RefUnwindSafe for ColumnUpsertRequest
impl Send for ColumnUpsertRequest
impl Sync for ColumnUpsertRequest
impl Unpin for ColumnUpsertRequest
impl UnsafeUnpin for ColumnUpsertRequest
impl UnwindSafe for ColumnUpsertRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more