diff --git a/meilisearch-core/src/database.rs b/meilisearch-core/src/database.rs index 5f4efef96..b0c35c829 100644 --- a/meilisearch-core/src/database.rs +++ b/meilisearch-core/src/database.rs @@ -1,4 +1,5 @@ use std::collections::hash_map::{Entry, HashMap}; +use std::collections::BTreeMap; use std::fs::File; use std::path::Path; use std::sync::{Arc, RwLock}; @@ -554,7 +555,7 @@ impl Database { } // convert attributes to their names - let frequency: HashMap<_, _> = fields_frequency + let frequency: BTreeMap<_, _> = fields_frequency .into_iter() .filter_map(|(a, c)| schema.name(a).map(|name| (name.to_string(), c))) .collect(); diff --git a/meilisearch-core/src/store/main.rs b/meilisearch-core/src/store/main.rs index cf74e0698..5accdfbc7 100644 --- a/meilisearch-core/src/store/main.rs +++ b/meilisearch-core/src/store/main.rs @@ -1,5 +1,5 @@ use std::borrow::Cow; -use std::collections::HashMap; +use std::collections::BTreeMap; use chrono::{DateTime, Utc}; use heed::types::{ByteSlice, OwnedType, SerdeBincode, Str, CowSlice}; @@ -31,7 +31,7 @@ const SYNONYMS_KEY: &str = "synonyms"; const UPDATED_AT_KEY: &str = "updated-at"; const WORDS_KEY: &str = "words"; -pub type FreqsMap = HashMap; +pub type FreqsMap = BTreeMap; type SerdeFreqsMap = SerdeBincode; type SerdeDatetime = SerdeBincode>; diff --git a/meilisearch-http/src/routes/stats.rs b/meilisearch-http/src/routes/stats.rs index 8f43992a0..ef56424b9 100644 --- a/meilisearch-http/src/routes/stats.rs +++ b/meilisearch-http/src/routes/stats.rs @@ -1,4 +1,4 @@ -use std::collections::HashMap; +use std::collections::{HashMap, BTreeMap}; use actix_web::web; use actix_web::HttpResponse; @@ -24,7 +24,7 @@ pub fn services(cfg: &mut web::ServiceConfig) { struct IndexStatsResponse { number_of_documents: u64, is_indexing: bool, - fields_distribution: HashMap, + fields_distribution: BTreeMap, } #[get("/indexes/{index_uid}/stats", wrap = "Authentication::Private")]