Introduce a struct to compute facets values

This commit is contained in:
Kerollmops 2020-12-28 19:08:53 +01:00
parent 30dae0205e
commit 3b64735058
No known key found for this signature in database
GPG key ID: 92ADA4E935E71FA4
7 changed files with 156 additions and 20 deletions

View file

@ -9,7 +9,7 @@ use roaring::RoaringBitmap;
use crate::facet::FacetType;
use crate::fields_ids_map::FieldsIdsMap;
use crate::{default_criteria, Criterion, Search};
use crate::{default_criteria, Criterion, Search, FacetDistribution};
use crate::{BEU32, DocumentId, FieldId, ExternalDocumentsIds};
use crate::{
RoaringBitmapCodec, BEU32StrCodec, StrStrU8Codec, ObkvCodec,
@ -351,6 +351,10 @@ impl Index {
Ok(self.documents_ids(rtxn).map(|docids| docids.len() as usize)?)
}
pub fn facets<'a>(&'a self, rtxn: &'a RoTxn) -> FacetDistribution<'a> {
FacetDistribution::new(rtxn, self)
}
pub fn search<'a>(&'a self, rtxn: &'a RoTxn) -> Search<'a> {
Search::new(rtxn, self)
}