qdrant_client/builders/
prefetch_query_builder.rsuse crate::qdrant::*;
pub struct PrefetchQueryBuilder {
pub(crate) prefetch: Option<Vec<PrefetchQuery>>,
pub(crate) query: Option<Option<Query>>,
pub(crate) using: Option<Option<String>>,
pub(crate) filter: Option<Option<Filter>>,
pub(crate) params: Option<Option<SearchParams>>,
pub(crate) score_threshold: Option<Option<f32>>,
pub(crate) limit: Option<Option<u64>>,
pub(crate) lookup_from: Option<Option<LookupLocation>>,
}
impl PrefetchQueryBuilder {
#[allow(unused_mut)]
pub fn prefetch<VALUE: core::convert::Into<Vec<PrefetchQuery>>>(self, value: VALUE) -> Self {
let mut new = self;
new.prefetch = Option::Some(value.into());
new
}
#[allow(unused_mut)]
pub fn query<VALUE: core::convert::Into<Query>>(self, value: VALUE) -> Self {
let mut new = self;
new.query = Option::Some(Option::Some(value.into()));
new
}
#[allow(unused_mut)]
pub fn using<VALUE: core::convert::Into<String>>(self, value: VALUE) -> Self {
let mut new = self;
new.using = Option::Some(Option::Some(value.into()));
new
}
#[allow(unused_mut)]
pub fn filter<VALUE: core::convert::Into<Filter>>(self, value: VALUE) -> Self {
let mut new = self;
new.filter = Option::Some(Option::Some(value.into()));
new
}
#[allow(unused_mut)]
pub fn params<VALUE: core::convert::Into<SearchParams>>(self, value: VALUE) -> Self {
let mut new = self;
new.params = Option::Some(Option::Some(value.into()));
new
}
#[allow(unused_mut)]
pub fn score_threshold<VALUE: core::convert::Into<f32>>(self, value: VALUE) -> Self {
let mut new = self;
new.score_threshold = Option::Some(Option::Some(value.into()));
new
}
#[allow(unused_mut)]
pub fn limit<VALUE: core::convert::Into<u64>>(self, value: VALUE) -> Self {
let mut new = self;
new.limit = Option::Some(Option::Some(value.into()));
new
}
#[allow(unused_mut)]
pub fn lookup_from<VALUE: core::convert::Into<LookupLocation>>(self, value: VALUE) -> Self {
let mut new = self;
new.lookup_from = Option::Some(Option::Some(value.into()));
new
}
fn build_inner(self) -> Result<PrefetchQuery, std::convert::Infallible> {
Ok(PrefetchQuery {
prefetch: self.prefetch.unwrap_or_default(),
query: self.query.unwrap_or_default(),
using: self.using.unwrap_or_default(),
filter: self.filter.unwrap_or_default(),
params: self.params.unwrap_or_default(),
score_threshold: self.score_threshold.unwrap_or_default(),
limit: self.limit.unwrap_or_default(),
lookup_from: self.lookup_from.unwrap_or_default(),
})
}
fn create_empty() -> Self {
Self {
prefetch: core::default::Default::default(),
query: core::default::Default::default(),
using: core::default::Default::default(),
filter: core::default::Default::default(),
params: core::default::Default::default(),
score_threshold: core::default::Default::default(),
limit: core::default::Default::default(),
lookup_from: core::default::Default::default(),
}
}
}
impl From<PrefetchQueryBuilder> for PrefetchQuery {
fn from(value: PrefetchQueryBuilder) -> Self {
value.build_inner().unwrap_or_else(|_| {
panic!(
"Failed to convert {0} to {1}",
"PrefetchQueryBuilder", "PrefetchQuery"
)
})
}
}
impl PrefetchQueryBuilder {
pub fn build(self) -> PrefetchQuery {
self.build_inner().unwrap_or_else(|_| {
panic!(
"Failed to build {0} into {1}",
"PrefetchQueryBuilder", "PrefetchQuery"
)
})
}
}
impl Default for PrefetchQueryBuilder {
fn default() -> Self {
Self::create_empty()
}
}