mirror of
https://github.com/meilisearch/meilisearch.git
synced 2024-11-30 00:55:00 +08:00
Introduce the Typo criterion
This commit is contained in:
parent
73286dc8bf
commit
f0ddea821c
34
milli/src/search/criteria/mod.rs
Normal file
34
milli/src/search/criteria/mod.rs
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
use crate::Index;
|
||||||
|
|
||||||
|
use roaring::RoaringBitmap;
|
||||||
|
|
||||||
|
use super::query_tree::Operation;
|
||||||
|
|
||||||
|
pub mod typo;
|
||||||
|
|
||||||
|
pub trait Criterion {
|
||||||
|
fn next(&mut self) -> anyhow::Result<Option<(Option<Operation>, RoaringBitmap)>>;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Either a set of candidates that defines the candidates
|
||||||
|
/// that are allowed to be returned,
|
||||||
|
/// or the candidates that must never be returned.
|
||||||
|
enum Candidates {
|
||||||
|
Allowed(RoaringBitmap),
|
||||||
|
Forbidden(RoaringBitmap)
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Candidates {
|
||||||
|
fn into_inner(self) -> RoaringBitmap {
|
||||||
|
match self {
|
||||||
|
Self::Allowed(inner) => inner,
|
||||||
|
Self::Forbidden(inner) => inner,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Default for Candidates {
|
||||||
|
fn default() -> Self {
|
||||||
|
Self::Forbidden(RoaringBitmap::new())
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user