diff --git a/src/criterion.rs b/src/criterion.rs new file mode 100644 index 000000000..fd334f7d9 --- /dev/null +++ b/src/criterion.rs @@ -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 { + vec![ + Criterion::Typo, + Criterion::Words, + Criterion::Proximity, + Criterion::Attribute, + Criterion::WordsPosition, + Criterion::Exactness, + ] +} diff --git a/src/lib.rs b/src/lib.rs index 6ec02433e..63d0ed6c6 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,4 +1,5 @@ mod best_proximity; +mod criterion; mod heed_codec; mod iter_shortest_paths; mod query_tokens;