mirror of
https://github.com/meilisearch/meilisearch.git
synced 2024-11-30 09:04:59 +08:00
fix the facets conditions
This commit is contained in:
parent
7c7fba4e57
commit
e5dfde88fd
@ -138,6 +138,7 @@ fn bench_songs(c: &mut criterion::Criterion) {
|
|||||||
criterion: Some(&["desc(released-timestamp)"]),
|
criterion: Some(&["desc(released-timestamp)"]),
|
||||||
..BASE_CONF
|
..BASE_CONF
|
||||||
},
|
},
|
||||||
|
|
||||||
/* then we bench the asc and desc criterion on top of the default criterion */
|
/* then we bench the asc and desc criterion on top of the default criterion */
|
||||||
utils::Conf {
|
utils::Conf {
|
||||||
group_name: "asc + default",
|
group_name: "asc + default",
|
||||||
@ -149,6 +150,24 @@ fn bench_songs(c: &mut criterion::Criterion) {
|
|||||||
criterion: Some(&desc_default[..]),
|
criterion: Some(&desc_default[..]),
|
||||||
..BASE_CONF
|
..BASE_CONF
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/* we bench the filters with the default request */
|
||||||
|
utils::Conf {
|
||||||
|
group_name: "basic filter: <=",
|
||||||
|
facet_condition: Some("released-timestamp <= 946728000"), // year 2000
|
||||||
|
..BASE_CONF
|
||||||
|
},
|
||||||
|
utils::Conf {
|
||||||
|
group_name: "basic filter: TO",
|
||||||
|
facet_condition: Some("released-timestamp 946728000 TO 1262347200"), // year 2000 to 2010
|
||||||
|
..BASE_CONF
|
||||||
|
},
|
||||||
|
utils::Conf {
|
||||||
|
group_name: "big filter",
|
||||||
|
facet_condition: Some("released-timestamp != 1262347200 AND (NOT (released-timestamp = 946728000)) AND (duration-float = 1 OR (duration-float 1.1 TO 1.5 AND released-timestamp > 315576000))"),
|
||||||
|
..BASE_CONF
|
||||||
|
},
|
||||||
|
|
||||||
/* the we bench some global / normal search with all the default criterion in the default
|
/* the we bench some global / normal search with all the default criterion in the default
|
||||||
* order */
|
* order */
|
||||||
utils::Conf {
|
utils::Conf {
|
||||||
@ -174,7 +193,10 @@ fn bench_songs(c: &mut criterion::Criterion) {
|
|||||||
group_name: "prefix search",
|
group_name: "prefix search",
|
||||||
queries: &[
|
queries: &[
|
||||||
"s", // 500k+ results
|
"s", // 500k+ results
|
||||||
"a", "b", "i", "x", // only 7k results
|
"a", //
|
||||||
|
"b", //
|
||||||
|
"i", //
|
||||||
|
"x", // only 7k results
|
||||||
],
|
],
|
||||||
..BASE_CONF
|
..BASE_CONF
|
||||||
},
|
},
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
use std::{
|
use std::fs::{create_dir_all, remove_dir_all, File};
|
||||||
fs::{create_dir_all, remove_dir_all, File},
|
|
||||||
time::Duration,
|
|
||||||
};
|
|
||||||
|
|
||||||
use criterion::BenchmarkId;
|
use criterion::BenchmarkId;
|
||||||
use heed::EnvOpenOptions;
|
use heed::EnvOpenOptions;
|
||||||
@ -24,7 +21,7 @@ pub struct Conf<'a> {
|
|||||||
pub criterion: Option<&'a [&'a str]>,
|
pub criterion: Option<&'a [&'a str]>,
|
||||||
/// the last chance to configure your database as you want
|
/// the last chance to configure your database as you want
|
||||||
pub configure: fn(&mut Settings),
|
pub configure: fn(&mut Settings),
|
||||||
pub facet_condition: Option<FacetCondition>,
|
pub facet_condition: Option<&'a str>,
|
||||||
/// enable or disable the optional words on the query
|
/// enable or disable the optional words on the query
|
||||||
pub optional_words: bool,
|
pub optional_words: bool,
|
||||||
}
|
}
|
||||||
@ -102,7 +99,8 @@ pub fn run_benches(c: &mut criterion::Criterion, confs: &[Conf]) {
|
|||||||
let rtxn = index.read_txn().unwrap();
|
let rtxn = index.read_txn().unwrap();
|
||||||
let mut search = index.search(&rtxn);
|
let mut search = index.search(&rtxn);
|
||||||
search.query(query).optional_words(conf.optional_words);
|
search.query(query).optional_words(conf.optional_words);
|
||||||
if let Some(facet_condition) = conf.facet_condition.clone() {
|
if let Some(facet_condition) = conf.facet_condition {
|
||||||
|
let facet_condition = FacetCondition::from_str(&rtxn, &index, facet_condition).unwrap();
|
||||||
search.facet_condition(facet_condition);
|
search.facet_condition(facet_condition);
|
||||||
}
|
}
|
||||||
let _ids = search.execute().unwrap();
|
let _ids = search.execute().unwrap();
|
||||||
|
Loading…
Reference in New Issue
Block a user