Skip to main content

SearchResults

Struct SearchResults 

Source
pub struct SearchResults<I, T> { /* private fields */ }
Expand description

Aggregated results for a single invocation of search. This corresponds to a potentially parallelized batch of queries.

§Note

In the documentation of the member functions, the term “querywise” describes that the returned collection has an ordered correspondence with the original queries.

If the Search object that generated these results as N queries (as returned by Search::num_queries), then for these returned container, entry i will correspond to the ith query for i in 0..N.

Implementations§

Source§

impl<I, T> SearchResults<I, T>

Source

pub fn len(&self) -> usize

Return the number of queries in the batch.

Source

pub fn is_empty(&self) -> bool

Return true only if self.len() == 0.

Source

pub fn end_to_end_latency(&self) -> MicroSeconds

Return the wall clock time taken to process all queries in the batch.

Source

pub fn ids(&self) -> &ResultIds<I>

Return the querywise computed IDs from search.

Source

pub fn latencies(&self) -> &[MicroSeconds]

Return the querywise latencies for each search. If Self::latencies_mut has been called, the return slice loses its querywise guarantee.

Source

pub fn latencies_mut(&mut self) -> &mut [MicroSeconds]

Return the querywise latencies for each search by mutable reference. This is for efficient use of diskann_benchmark_runner::utils::percentiles::compute_percentiles.

Modifying the underlying slice invalidates the querywise guarantee.

Source

pub fn output(&self) -> &[T]

Return the querywise customized outputs from search.

Source

pub fn take_output(self) -> Vec<T>

Consume self, returning the querywise customized outputs from search by value.

Trait Implementations§

Source§

impl<I: Debug, T: Debug> Debug for SearchResults<I, T>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<I, T> Freeze for SearchResults<I, T>

§

impl<I, T> RefUnwindSafe for SearchResults<I, T>

§

impl<I, T> Send for SearchResults<I, T>
where T: Send, I: Send,

§

impl<I, T> Sync for SearchResults<I, T>
where T: Sync, I: Sync,

§

impl<I, T> Unpin for SearchResults<I, T>
where T: Unpin, I: Unpin,

§

impl<I, T> UnsafeUnpin for SearchResults<I, T>

§

impl<I, T> UnwindSafe for SearchResults<I, T>
where T: UnwindSafe, I: UnwindSafe,

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,