mirror of
https://github.com/meilisearch/MeiliSearch
synced 2024-06-02 10:58:02 +02:00
22 lines
563 B
Rust
22 lines
563 B
Rust
|
mod facet_distinct;
|
||
|
mod map_distinct;
|
||
|
mod noop_distinct;
|
||
|
|
||
|
use roaring::RoaringBitmap;
|
||
|
|
||
|
pub use facet_distinct::FacetDistinct;
|
||
|
pub use map_distinct::MapDistinct;
|
||
|
pub use noop_distinct::NoopDistinct;
|
||
|
use crate::DocumentId;
|
||
|
|
||
|
pub trait DocIter: Iterator<Item=anyhow::Result<DocumentId>> {
|
||
|
/// Returns ownership on the internal RoaringBitmaps: (candidates, excluded)
|
||
|
fn into_excluded(self) -> RoaringBitmap;
|
||
|
}
|
||
|
|
||
|
pub trait Distinct<'a> {
|
||
|
type Iter: DocIter;
|
||
|
|
||
|
fn distinct(&'a mut self, candidates: RoaringBitmap, excluded: RoaringBitmap) -> Self::Iter;
|
||
|
}
|