From 7967e93c160e88dab7c2cde2f9c3cfe4352e28c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Renault?= Date: Wed, 5 Jun 2024 16:58:32 -0400 Subject: [PATCH] Skip evaluating when a universe is empty, nothing can be found --- milli/src/search/facet/filter.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/milli/src/search/facet/filter.rs b/milli/src/search/facet/filter.rs index f5fd0f2fd..d75ed5f22 100644 --- a/milli/src/search/facet/filter.rs +++ b/milli/src/search/facet/filter.rs @@ -343,6 +343,10 @@ impl<'a> Filter<'a> { filterable_fields: &HashSet, universe: Option<&RoaringBitmap>, ) -> Result { + if universe.map_or(false, |u| u.is_empty()) { + return Ok(RoaringBitmap::new()); + } + match &self.condition { FilterCondition::Not(f) => { // TODO improve the documents_ids to also support intersections at deserialize time.