Skip to main content

VelesCollection

Struct VelesCollection 

Source
pub struct VelesCollection { /* private fields */ }
Expand description

A collection of vectors with associated metadata.

Implementations§

Source§

impl VelesCollection

Source

pub fn search( &self, vector: Vec<f32>, limit: u32, ) -> Result<Vec<SearchResult>, VelesError>

Searches for the k nearest neighbors to the query vector.

§Arguments
  • vector - Query vector
  • limit - Maximum number of results to return
§Returns

Vector of search results sorted by similarity.

Source

pub fn upsert(&self, point: VelesPoint) -> Result<(), VelesError>

Inserts or updates a single point.

§Arguments
  • point - The point to upsert
Source

pub fn upsert_batch(&self, points: Vec<VelesPoint>) -> Result<(), VelesError>

Inserts or updates multiple points in batch.

§Arguments
  • points - Points to upsert
Source

pub fn delete(&self, id: u64) -> Result<(), VelesError>

Deletes a point by ID.

Source

pub fn count(&self) -> u64

Returns the number of points in the collection.

Source

pub fn dimension(&self) -> u32

Returns the vector dimension.

Source

pub fn get(&self, ids: Vec<u64>) -> Vec<VelesPoint>

Gets points by their IDs.

§Arguments
  • ids - List of point IDs to retrieve
§Returns

Vector of points found. Missing IDs are silently skipped.

Source

pub fn get_by_id(&self, id: u64) -> Option<VelesPoint>

Gets a single point by ID.

§Arguments
  • id - Point ID to retrieve
§Returns

The point if found, None otherwise.

Source

pub fn is_metadata_only(&self) -> bool

Checks if this is a metadata-only collection.

Performs full-text search using BM25.

§Arguments
  • query - Text query to search for
  • limit - Maximum number of results to return
§Returns

Vector of search results sorted by BM25 score.

Performs hybrid search combining vector similarity and BM25 text search.

§Arguments
  • vector - Query vector for similarity search
  • text_query - Text query for BM25 search
  • limit - Maximum number of results
  • vector_weight - Weight for vector similarity (0.0-1.0)
§Returns

Vector of search results sorted by fused score.

Source

pub fn search_with_filter( &self, vector: Vec<f32>, limit: u32, filter_json: String, ) -> Result<Vec<SearchResult>, VelesError>

Searches with metadata filtering.

§Arguments
  • vector - Query vector
  • limit - Maximum number of results
  • filter_json - JSON filter string (e.g., {"condition": {"type": "eq", "field": "category", "value": "tech"}})
§Returns

Vector of search results matching the filter.

Performs batch search for multiple query vectors in parallel.

§Arguments
  • searches - List of search requests
§Returns

List of result lists (one per query vector).

Source

pub fn text_search_with_filter( &self, query: String, limit: u32, filter_json: String, ) -> Result<Vec<SearchResult>, VelesError>

Performs text search with metadata filtering.

§Arguments
  • query - Text query
  • limit - Maximum number of results
  • filter_json - JSON filter string
Source

pub fn hybrid_search_with_filter( &self, vector: Vec<f32>, text_query: String, limit: u32, vector_weight: f32, filter_json: String, ) -> Result<Vec<SearchResult>, VelesError>

Performs hybrid search with metadata filtering.

§Arguments
  • vector - Query vector
  • text_query - Text query
  • limit - Maximum number of results
  • vector_weight - Weight for vector similarity (0.0-1.0)
  • filter_json - JSON filter string
Source

pub fn query( &self, query_str: String, params_json: Option<String>, ) -> Result<Vec<SearchResult>, VelesError>

Executes a VelesQL query.

§Arguments
  • query_str - VelesQL query string
  • params_json - Optional JSON object with query parameters
§Returns

Vector of search results.

§Example
let results = try collection.query(
    "SELECT * FROM vectors WHERE category = 'tech' LIMIT 10",
    nil
)

Performs multi-query search with result fusion.

Executes parallel searches for multiple query vectors and fuses results using the specified strategy. Ideal for Multiple Query Generation (MQG) pipelines on mobile.

§Arguments
  • vectors - List of query vectors
  • limit - Maximum number of results after fusion
  • strategy - Fusion strategy to use
§Returns

Vector of fused search results sorted by relevance.

§Example
let results = try collection.multiQuerySearch(
    vectors: [query1, query2, query3],
    limit: 10,
    strategy: .rrf(k: 60)
)
Source

pub fn multi_query_search_with_filter( &self, vectors: Vec<Vec<f32>>, limit: u32, strategy: FusionStrategy, filter_json: String, ) -> Result<Vec<SearchResult>, VelesError>

Performs multi-query search with metadata filtering.

§Arguments
  • vectors - List of query vectors
  • limit - Maximum number of results after fusion
  • strategy - Fusion strategy to use
  • filter_json - JSON filter string
Source

pub fn flush(&self) -> Result<(), VelesError>

Flushes collection data to durable storage.

Source

pub fn all_ids(&self) -> Vec<u64>

Returns all point IDs currently present in the collection.

Source

pub fn create_index(&self, field_name: String) -> Result<(), VelesError>

Creates a secondary metadata index for a payload field.

Source

pub fn has_secondary_index(&self, field_name: String) -> bool

Checks whether a secondary metadata index exists for a field.

Source

pub fn create_property_index( &self, label: String, property: String, ) -> Result<(), VelesError>

Creates a graph/property index for equality lookups.

Source

pub fn create_range_index( &self, label: String, property: String, ) -> Result<(), VelesError>

Creates a graph/range index for range queries.

Source

pub fn has_property_index(&self, label: String, property: String) -> bool

Checks if a property index exists.

Source

pub fn has_range_index(&self, label: String, property: String) -> bool

Checks if a range index exists.

Source

pub fn list_indexes(&self) -> Vec<MobileIndexInfo>

Lists all index definitions on this collection.

Source

pub fn drop_index( &self, label: String, property: String, ) -> Result<bool, VelesError>

Drops an index and returns true when something was removed.

Source

pub fn indexes_memory_usage(&self) -> u64

Returns total memory usage used by indexes.

Source

pub fn analyze(&self) -> Result<MobileCollectionStats, VelesError>

Runs ANALYZE and returns fresh statistics for this collection.

Source

pub fn get_stats(&self) -> MobileCollectionStats

Returns the latest known collection statistics snapshot.

Performs sparse-only search using an inverted index.

§Arguments
  • sparse_vector - Query sparse vector (parallel arrays of indices/values)
  • limit - Maximum number of results
  • index_name - Name of the sparse index (empty string for default)
§Returns

Vector of search results sorted by sparse similarity.

Performs hybrid dense+sparse search with RRF fusion.

Combines vector similarity search with sparse (keyword) search using Reciprocal Rank Fusion.

§Arguments
  • vector - Dense query vector
  • sparse_vector - Sparse query vector (parallel arrays)
  • limit - Maximum number of results
  • index_name - Name of the sparse index (empty string or None for default)
§Returns

Vector of fused search results.

Source

pub fn upsert_with_sparse( &self, point: VelesPoint, sparse_vector: VelesSparseVector, ) -> Result<(), VelesError>

Inserts or updates a point with an associated sparse vector.

§Arguments
  • point - The point to upsert (dense vector + payload)
  • sparse_vector - Sparse vector to associate with this point

Trait Implementations§

Source§

impl<UT> LiftRef<UT> for VelesCollection

Source§

impl<UT> LowerError<UT> for VelesCollection

Source§

fn lower_error(obj: Self) -> RustBuffer

Lower this value for scaffolding function return Read more
Source§

impl<UT> LowerReturn<UT> for VelesCollection

Source§

type ReturnType = <Arc<VelesCollection> as LowerReturn<UniFfiTag>>::ReturnType

The type that should be returned by scaffolding functions for this type. Read more
Source§

fn lower_return(obj: Self) -> Result<Self::ReturnType, RustCallError>

Lower the return value from an scaffolding call Read more
Source§

fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>

Lower the return value for failed argument lifts Read more
Source§

impl<UT> TypeId<UT> for VelesCollection

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> CompatExt for T

Source§

fn compat(self) -> Compat<T>

Applies the Compat adapter by value. Read more
Source§

fn compat_ref(&self) -> Compat<&T>

Applies the Compat adapter by shared reference. Read more
Source§

fn compat_mut(&mut self) -> Compat<&mut T>

Applies the Compat adapter by mutable reference. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, UT> HandleAlloc<UT> for T
where T: Send + Sync,

Source§

fn new_handle(value: Arc<T>) -> Handle

Create a new handle for an Arc value Read more
Source§

unsafe fn clone_handle(handle: Handle) -> Handle

Clone a handle Read more
Source§

unsafe fn consume_handle(handle: Handle) -> Arc<T>

Consume a handle, getting back the initial Arc<> Read more
Source§

unsafe fn get_arc(handle: Handle) -> Arc<Self>

Get a clone of the Arc<> using a “borrowed” handle. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Paint for T
where T: ?Sized,

Source§

fn fg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the foreground set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like red() and green(), which have the same functionality but are pithier.

§Example

Set foreground color to white using fg():

use yansi::{Paint, Color};

painted.fg(Color::White);

Set foreground color to white using white().

use yansi::Paint;

painted.white();
Source§

fn primary(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Primary].

§Example
println!("{}", value.primary());
Source§

fn fixed(&self, color: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Fixed].

§Example
println!("{}", value.fixed(color));
Source§

fn rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Rgb].

§Example
println!("{}", value.rgb(r, g, b));
Source§

fn black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Black].

§Example
println!("{}", value.black());
Source§

fn red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Red].

§Example
println!("{}", value.red());
Source§

fn green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Green].

§Example
println!("{}", value.green());
Source§

fn yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Yellow].

§Example
println!("{}", value.yellow());
Source§

fn blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Blue].

§Example
println!("{}", value.blue());
Source§

fn magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Magenta].

§Example
println!("{}", value.magenta());
Source§

fn cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Cyan].

§Example
println!("{}", value.cyan());
Source§

fn white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: White].

§Example
println!("{}", value.white());
Source§

fn bright_black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlack].

§Example
println!("{}", value.bright_black());
Source§

fn bright_red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightRed].

§Example
println!("{}", value.bright_red());
Source§

fn bright_green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightGreen].

§Example
println!("{}", value.bright_green());
Source§

fn bright_yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightYellow].

§Example
println!("{}", value.bright_yellow());
Source§

fn bright_blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlue].

§Example
println!("{}", value.bright_blue());
Source§

fn bright_magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.bright_magenta());
Source§

fn bright_cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightCyan].

§Example
println!("{}", value.bright_cyan());
Source§

fn bright_white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightWhite].

§Example
println!("{}", value.bright_white());
Source§

fn bg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the background set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like on_red() and on_green(), which have the same functionality but are pithier.

§Example

Set background color to red using fg():

use yansi::{Paint, Color};

painted.bg(Color::Red);

Set background color to red using on_red().

use yansi::Paint;

painted.on_red();
Source§

fn on_primary(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Primary].

§Example
println!("{}", value.on_primary());
Source§

fn on_fixed(&self, color: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Fixed].

§Example
println!("{}", value.on_fixed(color));
Source§

fn on_rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Rgb].

§Example
println!("{}", value.on_rgb(r, g, b));
Source§

fn on_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Black].

§Example
println!("{}", value.on_black());
Source§

fn on_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Red].

§Example
println!("{}", value.on_red());
Source§

fn on_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Green].

§Example
println!("{}", value.on_green());
Source§

fn on_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Yellow].

§Example
println!("{}", value.on_yellow());
Source§

fn on_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Blue].

§Example
println!("{}", value.on_blue());
Source§

fn on_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Magenta].

§Example
println!("{}", value.on_magenta());
Source§

fn on_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Cyan].

§Example
println!("{}", value.on_cyan());
Source§

fn on_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: White].

§Example
println!("{}", value.on_white());
Source§

fn on_bright_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlack].

§Example
println!("{}", value.on_bright_black());
Source§

fn on_bright_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightRed].

§Example
println!("{}", value.on_bright_red());
Source§

fn on_bright_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightGreen].

§Example
println!("{}", value.on_bright_green());
Source§

fn on_bright_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightYellow].

§Example
println!("{}", value.on_bright_yellow());
Source§

fn on_bright_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlue].

§Example
println!("{}", value.on_bright_blue());
Source§

fn on_bright_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.on_bright_magenta());
Source§

fn on_bright_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightCyan].

§Example
println!("{}", value.on_bright_cyan());
Source§

fn on_bright_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightWhite].

§Example
println!("{}", value.on_bright_white());
Source§

fn attr(&self, value: Attribute) -> Painted<&T>

Enables the styling Attribute value.

This method should be used rarely. Instead, prefer to use attribute-specific builder methods like bold() and underline(), which have the same functionality but are pithier.

§Example

Make text bold using attr():

use yansi::{Paint, Attribute};

painted.attr(Attribute::Bold);

Make text bold using using bold().

use yansi::Paint;

painted.bold();
Source§

fn bold(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Bold].

§Example
println!("{}", value.bold());
Source§

fn dim(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Dim].

§Example
println!("{}", value.dim());
Source§

fn italic(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Italic].

§Example
println!("{}", value.italic());
Source§

fn underline(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Underline].

§Example
println!("{}", value.underline());

Returns self with the attr() set to [Attribute :: Blink].

§Example
println!("{}", value.blink());

Returns self with the attr() set to [Attribute :: RapidBlink].

§Example
println!("{}", value.rapid_blink());
Source§

fn invert(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Invert].

§Example
println!("{}", value.invert());
Source§

fn conceal(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Conceal].

§Example
println!("{}", value.conceal());
Source§

fn strike(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Strike].

§Example
println!("{}", value.strike());
Source§

fn quirk(&self, value: Quirk) -> Painted<&T>

Enables the yansi Quirk value.

This method should be used rarely. Instead, prefer to use quirk-specific builder methods like mask() and wrap(), which have the same functionality but are pithier.

§Example

Enable wrapping using .quirk():

use yansi::{Paint, Quirk};

painted.quirk(Quirk::Wrap);

Enable wrapping using wrap().

use yansi::Paint;

painted.wrap();
Source§

fn mask(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Mask].

§Example
println!("{}", value.mask());
Source§

fn wrap(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Wrap].

§Example
println!("{}", value.wrap());
Source§

fn linger(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Linger].

§Example
println!("{}", value.linger());
Source§

fn clear(&self) -> Painted<&T>

👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear(). The clear() method will be removed in a future release.

Returns self with the quirk() set to [Quirk :: Clear].

§Example
println!("{}", value.clear());
Source§

fn resetting(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Resetting].

§Example
println!("{}", value.resetting());
Source§

fn bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Bright].

§Example
println!("{}", value.bright());
Source§

fn on_bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: OnBright].

§Example
println!("{}", value.on_bright());
Source§

fn whenever(&self, value: Condition) -> Painted<&T>

Conditionally enable styling based on whether the Condition value applies. Replaces any previous condition.

See the crate level docs for more details.

§Example

Enable styling painted only when both stdout and stderr are TTYs:

use yansi::{Paint, Condition};

painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
Source§

fn new(self) -> Painted<Self>
where Self: Sized,

Create a new Painted with a default Style. Read more
Source§

fn paint<S>(&self, style: S) -> Painted<&Self>
where S: Into<Style>,

Apply a style wholesale to self. Any previous style is replaced. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. 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