diff --git a/meilisearch-core/src/bucket_sort.rs b/meilisearch-core/src/bucket_sort.rs index 6c9b87301..f0fc71bd0 100644 --- a/meilisearch-core/src/bucket_sort.rs +++ b/meilisearch-core/src/bucket_sort.rs @@ -100,12 +100,6 @@ where debug!("found {} documents", docids.len()); debug!("number of postings {:?}", queries.len()); - if let Some(f) = facet_count_docids { - // hardcoded value, until approximation optimization - result.exhaustive_facets_count = Some(true); - result.facets = Some(facet_count(f, &docids)); - } - if let Some(facets_docids) = facets_docids { let intersection = sdset::duo::OpBuilder::new(docids.as_ref(), facets_docids.as_set()) .intersection() @@ -113,6 +107,12 @@ where docids = Cow::Owned(intersection); } + if let Some(f) = facet_count_docids { + // hardcoded value, until approximation optimization + result.exhaustive_facets_count = Some(true); + result.facets = Some(facet_count(f, &docids)); + } + let before = Instant::now(); mk_arena!(arena); let mut bare_matches = cleanup_bare_matches(&mut arena, &docids, queries); @@ -243,12 +243,6 @@ where debug!("found {} documents", docids.len()); debug!("number of postings {:?}", queries.len()); - if let Some(f) = facet_count_docids { - // hardcoded value, until approximation optimization - result.exhaustive_facets_count = Some(true); - result.facets = Some(facet_count(f, &docids)); - } - if let Some(facets_docids) = facets_docids { let intersection = OpBuilder::new(docids.as_ref(), facets_docids.as_set()) .intersection() @@ -256,6 +250,12 @@ where docids = Cow::Owned(intersection); } + if let Some(f) = facet_count_docids { + // hardcoded value, until approximation optimization + result.exhaustive_facets_count = Some(true); + result.facets = Some(facet_count(f, &docids)); + } + let before = Instant::now(); mk_arena!(arena); let mut bare_matches = cleanup_bare_matches(&mut arena, &docids, queries);