Skip to main content

Range

Struct Range 

Source
pub struct Range<DP, T, S>
where DP: DataProvider,
{ /* private fields */ }
Expand description

A built-in helper for benchmarking the range search method [graph::DiskANNIndex::range_search].

This is intended to be used in conjunction with search::search or search::search_all and provides some basic additional metrics for the latter. Result aggregation for search::search_all is provided by the Aggregator type.

The provided implementation of Search accepts graph::search::Range and returns Metrics as additional output.

Implementations§

Source§

impl<DP, T, S> Range<DP, T, S>
where DP: DataProvider,

Source

pub fn new( index: Arc<DiskANNIndex<DP>>, queries: Arc<Matrix<T>>, strategy: Strategy<S>, ) -> Result<Arc<Self>>

Construct a new Range searcher.

If strategy is one of the container variants of Strategy, its length must match the number of rows in queries. If this is the case, then the strategies will have a querywise correspondence (see search::SearchResults) with the query matrix.

§Errors

Returns an error if the number of elements in strategy is not compatible with the number of rows in queries.

Trait Implementations§

Source§

impl<DP, T: Debug, S: Debug> Debug for Range<DP, T, S>
where DP: DataProvider + Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<DP, T, S> Search for Range<DP, T, S>
where DP: DataProvider<Context: Default, ExternalId: Id>, S: for<'a> DefaultSearchStrategy<DP, &'a [T], DP::ExternalId> + Clone + AsyncFriendly, T: AsyncFriendly + Clone,

Source§

type Id = <DP as DataProvider>::ExternalId

The identifier for the type returned by search. These are canonically the unique IDs associated with indexed vectors.
Source§

type Parameters = Range

Custom input search parameters.
Source§

type Output = Metrics

Custom output parameters. This augments the standard metrics collected by search and allows implementation-specific data to be returned.
Source§

fn num_queries(&self) -> usize

The number of queries that can be searched. The machinery in search and search_all will invoke Search::search for each index in 0..N where N is the returned value of this method.
Source§

fn id_count(&self, parameters: &Self::Parameters) -> IdCount

Provide a hint for the number of IDs returned for each query. This is used to optimize internal buffer allocations.
Source§

async fn search<O>( &self, parameters: &Self::Parameters, buffer: &mut O, index: usize, ) -> ANNResult<Self::Output>

Perform a search for the query identified by index using parameters. The results must be written into buffer. Customized output is returned.

Auto Trait Implementations§

§

impl<DP, T, S> Freeze for Range<DP, T, S>
where S: Freeze,

§

impl<DP, T, S> !RefUnwindSafe for Range<DP, T, S>

§

impl<DP, T, S> Send for Range<DP, T, S>
where S: Send, T: Sync + Send,

§

impl<DP, T, S> Sync for Range<DP, T, S>
where S: Sync, T: Sync + Send,

§

impl<DP, T, S> Unpin for Range<DP, T, S>
where S: Unpin,

§

impl<DP, T, S> UnsafeUnpin for Range<DP, T, S>
where S: UnsafeUnpin,

§

impl<DP, T, S> !UnwindSafe for Range<DP, T, S>

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

Source§

type Error = Infallible

Errors that can occur during convert.
Source§

fn try_match(_from: &T) -> Result<MatchScore, FailureScore>

Attempt to match the value From to the type represented by Self. Read more
Source§

fn convert(from: T) -> Result<T, <T as DispatchRule<T>>::Error>

Perform the actual conversion. Read more
Source§

fn description(f: &mut Formatter<'_>, from: Option<&T>) -> Result<(), Error>

Write a description of the dispatch rule and outcome to the formatter. Read more
Source§

fn try_match_verbose<'a>( from: &'a From, ) -> Result<MatchScore, TaggedFailureScore<'a>>
where Self: 'a,

The equivalent of try_match but returns a reason for a failed score. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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, 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
Source§

impl<T> AsyncFriendly for T
where T: Send + Sync + 'static,