mirror of
https://github.com/meilisearch/meilisearch.git
synced 2024-11-23 02:27:40 +08:00
15d478cf4d
635: Use an unstable algorithm for `grenad::Sorter` when possible r=Kerollmops a=loiclec # Pull Request ## What does this PR do? Use an unstable algorithm to sort the internal vector used by `grenad::Sorter` whenever possible to speed up indexing. In practice, every time the merge function creates a `RoaringBitmap`, we use an unstable sort. For every other merge function, such as `keep_first`, `keep_last`, etc., a stable sort is used. Co-authored-by: Loïc Lecrenier <loic@meilisearch.com>
73 lines
2.0 KiB
TOML
73 lines
2.0 KiB
TOML
[package]
|
|
name = "milli"
|
|
version = "0.33.4"
|
|
authors = ["Kerollmops <clement@meilisearch.com>"]
|
|
edition = "2018"
|
|
|
|
[dependencies]
|
|
bimap = { version = "0.6.2", features = ["serde"] }
|
|
bincode = "1.3.3"
|
|
bstr = "0.2.17"
|
|
byteorder = "1.4.3"
|
|
charabia = { version = "0.6.0", default-features = false }
|
|
concat-arrays = "0.1.2"
|
|
crossbeam-channel = "0.5.2"
|
|
either = "1.6.1"
|
|
flatten-serde-json = { path = "../flatten-serde-json" }
|
|
fst = "0.4.7"
|
|
fxhash = "0.2.1"
|
|
geoutils = "0.4.1"
|
|
grenad = { version = "0.4.3", default-features = false, features = ["tempfile"] }
|
|
heed = { git = "https://github.com/meilisearch/heed", tag = "v0.12.3", default-features = false, features = ["lmdb", "sync-read-txn"] }
|
|
json-depth-checker = { path = "../json-depth-checker" }
|
|
levenshtein_automata = { version = "0.2.1", features = ["fst_automaton"] }
|
|
memmap2 = "0.5.3"
|
|
obkv = "0.2.0"
|
|
once_cell = "1.10.0"
|
|
ordered-float = "2.10.0"
|
|
rayon = "1.5.1"
|
|
roaring = "0.9.0"
|
|
rstar = { version = "0.9.2", features = ["serde"] }
|
|
serde = { version = "1.0.136", features = ["derive"] }
|
|
serde_json = { version = "1.0.79", features = ["preserve_order"] }
|
|
slice-group-by = "0.3.0"
|
|
smallstr = { version = "0.3.0", features = ["serde"] }
|
|
smallvec = "1.8.0"
|
|
smartstring = "1.0.1"
|
|
tempfile = "3.3.0"
|
|
thiserror = "1.0.31"
|
|
time = { version = "0.3.7", features = ["serde-well-known", "formatting", "parsing", "macros"] }
|
|
uuid = { version = "1.1.2", features = ["v4"] }
|
|
|
|
filter-parser = { path = "../filter-parser" }
|
|
|
|
# documents words self-join
|
|
itertools = "0.10.3"
|
|
|
|
# logging
|
|
log = "0.4.14"
|
|
logging_timer = "1.1.0"
|
|
csv = "1.1.6"
|
|
|
|
[dev-dependencies]
|
|
big_s = "1.0.2"
|
|
insta = "1.18.1"
|
|
maplit = "1.0.2"
|
|
md5 = "0.7.0"
|
|
rand = "0.8.5"
|
|
|
|
[features]
|
|
default = [ "charabia/default" ]
|
|
|
|
# allow chinese specialized tokenization
|
|
chinese = ["charabia/chinese"]
|
|
|
|
# allow hebrew specialized tokenization
|
|
hebrew = ["charabia/hebrew"]
|
|
|
|
# allow japanese specialized tokenization
|
|
japanese = ["charabia/japanese"]
|
|
|
|
# allow thai specialized tokenization
|
|
thai = ["charabia/thai"]
|