diff --git a/http-ui/src/main.rs b/http-ui/src/main.rs index 6a79e77ca..d0fc29573 100644 --- a/http-ui/src/main.rs +++ b/http-ui/src/main.rs @@ -687,6 +687,7 @@ async fn main() -> anyhow::Result<()> { filters: Option, facet_filters: Option, String>>>, facet_distribution: Option, + limit: Option, } #[derive(Debug, Serialize)] @@ -739,6 +740,10 @@ async fn main() -> anyhow::Result<()> { search.filter(condition); } + if let Some(limit) = query.limit { + search.limit(limit); + } + let SearchResult { matching_words, candidates, documents_ids } = search.execute().unwrap(); diff --git a/milli/src/search/mod.rs b/milli/src/search/mod.rs index f692df173..71d200e0c 100644 --- a/milli/src/search/mod.rs +++ b/milli/src/search/mod.rs @@ -162,7 +162,7 @@ impl<'a> Search<'a> { let mut offset = self.offset; let mut initial_candidates = RoaringBitmap::new(); let mut excluded_candidates = RoaringBitmap::new(); - let mut documents_ids = Vec::with_capacity(self.limit); + let mut documents_ids = Vec::new(); while let Some(FinalResult { candidates, bucket_candidates, .. }) = criteria.next(&excluded_candidates)?