Use a milli version that compute exhaustivelly the number of hits

This commit is contained in:
ManyTheFish 2022-07-13 10:58:39 +02:00
parent 30410e870f
commit 062d17fbc0
4 changed files with 28 additions and 15 deletions

37
Cargo.lock generated
View File

@ -1184,7 +1184,7 @@ dependencies = [
[[package]] [[package]]
name = "filter-parser" name = "filter-parser"
version = "0.33.4" version = "0.33.4"
source = "git+https://github.com/meilisearch/milli.git?tag=v0.33.4#4fc6331cb6526c07f3137584564cfe3493fb25bd" source = "git+https://github.com/meilisearch/milli.git?branch=main#19b2326f3dd3b85daa00cf1c752797f4b11c536b"
dependencies = [ dependencies = [
"nom", "nom",
"nom_locate", "nom_locate",
@ -1203,7 +1203,7 @@ dependencies = [
[[package]] [[package]]
name = "flatten-serde-json" name = "flatten-serde-json"
version = "0.33.4" version = "0.33.4"
source = "git+https://github.com/meilisearch/milli.git?tag=v0.33.4#4fc6331cb6526c07f3137584564cfe3493fb25bd" source = "git+https://github.com/meilisearch/milli.git?branch=main#19b2326f3dd3b85daa00cf1c752797f4b11c536b"
dependencies = [ dependencies = [
"serde_json", "serde_json",
] ]
@ -1360,9 +1360,9 @@ dependencies = [
[[package]] [[package]]
name = "geoutils" name = "geoutils"
version = "0.4.1" version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e006f616a407d396ace1d2ebb3f43ed73189db8b098079bd129928d7645dd1e" checksum = "36d244a08113319b5ebcabad2b8b7925732d15eec46d7e7ac3c11734f3b7a6ad"
[[package]] [[package]]
name = "getrandom" name = "getrandom"
@ -1714,7 +1714,7 @@ dependencies = [
[[package]] [[package]]
name = "json-depth-checker" name = "json-depth-checker"
version = "0.33.4" version = "0.33.4"
source = "git+https://github.com/meilisearch/milli.git?tag=v0.33.4#4fc6331cb6526c07f3137584564cfe3493fb25bd" source = "git+https://github.com/meilisearch/milli.git?branch=main#19b2326f3dd3b85daa00cf1c752797f4b11c536b"
dependencies = [ dependencies = [
"serde_json", "serde_json",
] ]
@ -2195,7 +2195,7 @@ dependencies = [
"rayon", "rayon",
"regex", "regex",
"reqwest", "reqwest",
"roaring", "roaring 0.9.0",
"rustls", "rustls",
"serde", "serde",
"serde_json", "serde_json",
@ -2250,11 +2250,11 @@ dependencies = [
[[package]] [[package]]
name = "milli" name = "milli"
version = "0.33.4" version = "0.33.4"
source = "git+https://github.com/meilisearch/milli.git?tag=v0.33.4#4fc6331cb6526c07f3137584564cfe3493fb25bd" source = "git+https://github.com/meilisearch/milli.git?branch=main#19b2326f3dd3b85daa00cf1c752797f4b11c536b"
dependencies = [ dependencies = [
"bimap", "bimap",
"bincode", "bincode",
"bstr 0.2.17", "bstr 1.0.1",
"byteorder", "byteorder",
"charabia", "charabia",
"concat-arrays", "concat-arrays",
@ -2278,7 +2278,7 @@ dependencies = [
"once_cell", "once_cell",
"ordered-float", "ordered-float",
"rayon", "rayon",
"roaring", "roaring 0.10.1",
"rstar", "rstar",
"serde", "serde",
"serde_json", "serde_json",
@ -2506,9 +2506,9 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
[[package]] [[package]]
name = "ordered-float" name = "ordered-float"
version = "2.10.0" version = "3.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87" checksum = "1f74e330193f90ec45e2b257fa3ef6df087784157ac1ad2c1e71c62837b03aa7"
dependencies = [ dependencies = [
"num-traits", "num-traits",
] ]
@ -3015,9 +3015,9 @@ dependencies = [
[[package]] [[package]]
name = "retain_mut" name = "retain_mut"
version = "0.1.9" version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4389f1d5789befaf6029ebd9f7dac4af7f7e3d61b69d4f30e2ac02b57e7712b0" checksum = "8c31b5c4033f8fdde8700e4657be2c497e7288f01515be52168c631e2e4d4086"
[[package]] [[package]]
name = "ring" name = "ring"
@ -3066,6 +3066,17 @@ dependencies = [
"retain_mut", "retain_mut",
] ]
[[package]]
name = "roaring"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef0fb5e826a8bde011ecae6a8539dd333884335c57ff0f003fbe27c25bbe8f71"
dependencies = [
"bytemuck",
"byteorder",
"retain_mut",
]
[[package]] [[package]]
name = "rstar" name = "rstar"
version = "0.9.3" version = "0.9.3"

View File

@ -7,7 +7,7 @@ edition = "2021"
enum-iterator = "1.1.2" enum-iterator = "1.1.2"
hmac = "0.12.1" hmac = "0.12.1"
meilisearch-types = { path = "../meilisearch-types" } meilisearch-types = { path = "../meilisearch-types" }
milli = { git = "https://github.com/meilisearch/milli.git", tag = "v0.33.4", default-features = false } milli = { git = "https://github.com/meilisearch/milli.git", branch = "main", default-features = false }
rand = "0.8.5" rand = "0.8.5"
serde = { version = "1.0.145", features = ["derive"] } serde = { version = "1.0.145", features = ["derive"] }
serde_json = { version = "1.0.85", features = ["preserve_order"] } serde_json = { version = "1.0.85", features = ["preserve_order"] }

View File

@ -28,7 +28,7 @@ lazy_static = "1.4.0"
log = "0.4.17" log = "0.4.17"
meilisearch-auth = { path = "../meilisearch-auth" } meilisearch-auth = { path = "../meilisearch-auth" }
meilisearch-types = { path = "../meilisearch-types" } meilisearch-types = { path = "../meilisearch-types" }
milli = { git = "https://github.com/meilisearch/milli.git", tag = "v0.33.4", default-features = false } milli = { git = "https://github.com/meilisearch/milli.git", branch = "main", default-features = false }
mime = "0.3.16" mime = "0.3.16"
num_cpus = "1.13.1" num_cpus = "1.13.1"
obkv = "0.2.0" obkv = "0.2.0"

View File

@ -148,6 +148,8 @@ impl Index {
// we align that on the offset too. // we align that on the offset too.
let is_finite_pagination = query.offset.is_none() && query.limit.is_none(); let is_finite_pagination = query.offset.is_none() && query.limit.is_none();
search.exhaustive_number_hits(is_finite_pagination);
let (offset, limit) = if is_finite_pagination { let (offset, limit) = if is_finite_pagination {
// we start at least at page 1. // we start at least at page 1.
let page = max(query.page, 1); let page = max(query.page, 1);