diff --git a/map/.gitignore b/map/.gitignore index 04981efbd..ab2931f7d 100644 --- a/map/.gitignore +++ b/map/.gitignore @@ -6,3 +6,4 @@ data/ gtfs_feeds/ martin/fonts/ martin/sprites/maki +gtfs_feeds diff --git a/server/src/search/mod.rs b/server/src/search/mod.rs index 7333ec45e..19ddb9de3 100644 --- a/server/src/search/mod.rs +++ b/server/src/search/mod.rs @@ -23,12 +23,23 @@ pub struct SearchQueryArgs { } /// Returned search results by this -#[derive(Serialize, Debug)] +#[derive(Serialize)] pub struct SearchResults { sections: Vec, time_ms: u128, } +impl Debug for SearchResults { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + let mut base = f.debug_struct("SearchResults"); + base.field("time_ms", &self.time_ms); + for section in self.sections.iter() { + base.field(§ion.facet, section); + } + base.finish() + } +} + #[derive(Copy, Clone, Eq, PartialEq, Hash)] /// Limit per facet pub struct Limits { diff --git a/server/src/search/search_executor/mod.rs b/server/src/search/search_executor/mod.rs index c6b5689e6..cacd3c658 100644 --- a/server/src/search/search_executor/mod.rs +++ b/server/src/search/search_executor/mod.rs @@ -1,3 +1,4 @@ +use std::fmt::{Debug, Formatter}; use meilisearch_sdk::client::Client; use serde::Serialize; use tracing::error; @@ -14,15 +15,31 @@ mod merger; mod parser; mod query; -#[derive(Serialize, Debug, Clone)] +#[derive(Serialize, Clone)] pub struct ResultsSection { - facet: String, + pub(crate) facet: String, entries: Vec, n_visible: usize, #[serde(rename = "estimatedTotalHits")] estimated_total_hits: usize, } +impl Debug for ResultsSection { + fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { + let mut base = f.debug_set(); + for i in 0..=3 { + if let Some(e)=self.entries.get(i) { + base.entry(e); + } + } + if self.entries.len() > 3 { + base.entry(&"..."); + } + base.finish() + } + +} + #[derive(Serialize, Default, Debug, Clone)] struct ResultEntry { #[serde(skip)]