#[views]Expand description
The main views procedural macro
ยงExample
use view_types::views;
fn validate_ratio(ratio: &f32) -> bool {
(*ratio >= 0.0 && *ratio <= 1.0)
}
#[views(
frag all {
offset,
limit,
}
frag keyword {
Some(query),
words_limit
}
frag semantic {
vector
}
pub view KeywordSearch {
..all,
..keyword,
}
pub view SemanticSearch<'a> {
..all,
..semantic,
}
pub view HybridSearch<'a> {
..all,
..keyword,
..semantic,
Some(ratio) if validate_ratio(ratio)
}
)]
pub struct Search<'a> {
query: Option<String>,
offset: usize,
limit: usize,
words_limit: Option<usize>,
vector: Option<&'a Vec<u8>>,
ratio: Option<f32>,
}