mirror of
https://github.com/meilisearch/MeiliSearch
synced 2024-11-22 21:04:27 +01:00
Add telemetry
This commit is contained in:
parent
0c8dbf6fa6
commit
c30a14cb97
@ -574,6 +574,10 @@ pub struct SearchAggregator {
|
|||||||
filter_total_number_of_criteria: usize,
|
filter_total_number_of_criteria: usize,
|
||||||
used_syntax: HashMap<String, usize>,
|
used_syntax: HashMap<String, usize>,
|
||||||
|
|
||||||
|
// attributes_to_search_on
|
||||||
|
// every time a search is done using attributes_to_search_on
|
||||||
|
attributes_to_search_on_total_number_of_use: usize,
|
||||||
|
|
||||||
// q
|
// q
|
||||||
// The maximum number of terms in a q request
|
// The maximum number of terms in a q request
|
||||||
max_terms_number: usize,
|
max_terms_number: usize,
|
||||||
@ -647,6 +651,11 @@ impl SearchAggregator {
|
|||||||
ret.filter_sum_of_criteria_terms = RE.split(&stringified_filters).count();
|
ret.filter_sum_of_criteria_terms = RE.split(&stringified_filters).count();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// attributes_to_search_on
|
||||||
|
if let Some(_) = query.attributes_to_search_on {
|
||||||
|
ret.attributes_to_search_on_total_number_of_use = 1;
|
||||||
|
}
|
||||||
|
|
||||||
if let Some(ref q) = query.q {
|
if let Some(ref q) = query.q {
|
||||||
ret.max_terms_number = q.split_whitespace().count();
|
ret.max_terms_number = q.split_whitespace().count();
|
||||||
}
|
}
|
||||||
@ -720,6 +729,11 @@ impl SearchAggregator {
|
|||||||
let used_syntax = self.used_syntax.entry(key).or_insert(0);
|
let used_syntax = self.used_syntax.entry(key).or_insert(0);
|
||||||
*used_syntax = used_syntax.saturating_add(value);
|
*used_syntax = used_syntax.saturating_add(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// attributes_to_search_on
|
||||||
|
self.attributes_to_search_on_total_number_of_use +=
|
||||||
|
other.attributes_to_search_on_total_number_of_use;
|
||||||
|
|
||||||
// q
|
// q
|
||||||
self.max_terms_number = self.max_terms_number.max(other.max_terms_number);
|
self.max_terms_number = self.max_terms_number.max(other.max_terms_number);
|
||||||
|
|
||||||
@ -786,6 +800,9 @@ impl SearchAggregator {
|
|||||||
"avg_criteria_number": format!("{:.2}", self.filter_sum_of_criteria_terms as f64 / self.filter_total_number_of_criteria as f64),
|
"avg_criteria_number": format!("{:.2}", self.filter_sum_of_criteria_terms as f64 / self.filter_total_number_of_criteria as f64),
|
||||||
"most_used_syntax": self.used_syntax.iter().max_by_key(|(_, v)| *v).map(|(k, _)| json!(k)).unwrap_or_else(|| json!(null)),
|
"most_used_syntax": self.used_syntax.iter().max_by_key(|(_, v)| *v).map(|(k, _)| json!(k)).unwrap_or_else(|| json!(null)),
|
||||||
},
|
},
|
||||||
|
"attributes_to_search_on": {
|
||||||
|
"total_number_of_use": self.attributes_to_search_on_total_number_of_use,
|
||||||
|
},
|
||||||
"q": {
|
"q": {
|
||||||
"max_terms_number": self.max_terms_number,
|
"max_terms_number": self.max_terms_number,
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user