1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#[derive(
Debug,
Clone,
conjure_object::serde::Serialize,
conjure_object::serde::Deserialize,
PartialEq,
Eq,
PartialOrd,
Ord,
Hash
)]
#[serde(crate = "conjure_object::serde")]
#[conjure_object::private::staged_builder::staged_builder]
#[builder(crate = conjure_object::private::staged_builder, update, inline)]
pub struct BatchSearchChannelsResponse {
#[builder(default, set(item(type = super::BatchedLocator)))]
#[serde(
rename = "allExpandedLocators",
skip_serializing_if = "std::collections::BTreeSet::is_empty",
default
)]
all_expanded_locators: std::collections::BTreeSet<super::BatchedLocator>,
#[builder(default, list(item(type = super::BatchedChannelEntry)))]
#[serde(rename = "results", skip_serializing_if = "Vec::is_empty", default)]
results: Vec<super::BatchedChannelEntry>,
}
impl BatchSearchChannelsResponse {
/// Constructs a new instance of the type.
#[inline]
pub fn new() -> Self {
Self::builder().build()
}
/// All locators expanded from the union of entry scopes in the batch, independent of
/// which channels exist within them.
#[inline]
pub fn all_expanded_locators(
&self,
) -> &std::collections::BTreeSet<super::BatchedLocator> {
&self.all_expanded_locators
}
/// Channels matching the shared query, ordered by relevance from the underlying search:
/// for fuzzy queries, exact matches first, then channels containing the query text, then
/// other matches, with each tier ordered by descending similarity score; for substring
/// queries, by earliest match position; for subsequence queries, exact matches first, then
/// channels containing the query text ordered by earliest match position, then remaining
/// subsequence matches. Ties are broken by natural (numeric-aware) channel name order.
/// Each entry's `locatorMetadata` covers all
/// locators across all entries where the channel exists; locators are tagged with the
/// set of entry ids that expanded to them.
#[inline]
pub fn results(&self) -> &[super::BatchedChannelEntry] {
&*self.results
}
}