Introduce the Crtierion enum

This commit is contained in:
Clément Renault 2020-08-12 10:43:02 +02:00
parent 6d04a285dc
commit bfb46cbfbe
No known key found for this signature in database
GPG Key ID: 92ADA4E935E71FA4
2 changed files with 32 additions and 0 deletions

31
src/criterion.rs Normal file
View File

@ -0,0 +1,31 @@
pub enum Criterion {
/// Sorted by increasing number of typos.
Typo,
/// Sorted by decreasing number of matched query terms.
Words,
/// Sorted by increasing distance between matched query terms.
Proximity,
/// Documents with quey words contained in more important
/// attributes are considred better.
Attribute,
/// Documents with query words at the front of an attribute is
/// considered better than if it was at the back.
WordsPosition,
/// Sorted by the similarity of the matched words with the query words.
Exactness,
/// Sorted by the increasing value of the field specified.
CustomAsc(String),
/// Sorted by the decreasing value of the field specified.
CustomDesc(String),
}
pub fn default_criteria() -> Vec<Criterion> {
vec![
Criterion::Typo,
Criterion::Words,
Criterion::Proximity,
Criterion::Attribute,
Criterion::WordsPosition,
Criterion::Exactness,
]
}

View File

@ -1,4 +1,5 @@
mod best_proximity; mod best_proximity;
mod criterion;
mod heed_codec; mod heed_codec;
mod iter_shortest_paths; mod iter_shortest_paths;
mod query_tokens; mod query_tokens;