mirror of
https://github.com/meilisearch/meilisearch.git
synced 2024-11-23 10:37:41 +08:00
chore: Make the repo use examples and keep the library
This commit is contained in:
parent
2944368897
commit
7a668dde98
280
Cargo.lock
generated
280
Cargo.lock
generated
@ -3,7 +3,7 @@ name = "ansi_term"
|
|||||||
version = "0.11.0"
|
version = "0.11.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -26,7 +26,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -34,7 +34,7 @@ name = "base64"
|
|||||||
version = "0.5.2"
|
version = "0.5.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -42,7 +42,7 @@ name = "base64"
|
|||||||
version = "0.9.3"
|
version = "0.9.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -57,7 +57,7 @@ version = "0.2.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"base64 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -81,7 +81,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "byteorder"
|
name = "byteorder"
|
||||||
version = "1.2.4"
|
version = "1.2.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -89,7 +89,7 @@ name = "bytes"
|
|||||||
version = "0.4.10"
|
version = "0.4.10"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -98,13 +98,13 @@ name = "bzip2-sys"
|
|||||||
version = "0.1.6"
|
version = "0.1.6"
|
||||||
source = "git+https://github.com/alexcrichton/bzip2-rs.git#54aef43502f91de8fa3e205c1ec276054444cc34"
|
source = "git+https://github.com/alexcrichton/bzip2-rs.git#54aef43502f91de8fa3e205c1ec276054444cc34"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cc"
|
name = "cc"
|
||||||
version = "1.0.22"
|
version = "1.0.25"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -136,10 +136,10 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cmake"
|
name = "cmake"
|
||||||
version = "0.1.33"
|
version = "0.1.35"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -183,7 +183,7 @@ version = "1.0.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"csv-core 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"csv-core 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -227,7 +227,7 @@ name = "fst"
|
|||||||
version = "0.3.2"
|
version = "0.3.2"
|
||||||
source = "git+https://github.com/Kerollmops/fst.git?branch=automaton-for-deref#6897dbe3b97772b7056279dd5a5d7088831b4cf0"
|
source = "git+https://github.com/Kerollmops/fst.git?branch=automaton-for-deref#6897dbe3b97772b7056279dd5a5d7088831b4cf0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -247,7 +247,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "futures"
|
name = "futures"
|
||||||
version = "0.1.24"
|
version = "0.1.25"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -255,7 +255,7 @@ name = "futures-cpupool"
|
|||||||
version = "0.1.8"
|
version = "0.1.8"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -287,10 +287,10 @@ name = "h2"
|
|||||||
version = "0.1.12"
|
version = "0.1.12"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
"http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"indexmap 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"indexmap 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -299,6 +299,41 @@ dependencies = [
|
|||||||
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "headers-core"
|
||||||
|
version = "0.0.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
dependencies = [
|
||||||
|
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "headers-derive"
|
||||||
|
version = "0.0.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
dependencies = [
|
||||||
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"syn 0.15.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "headers-ext"
|
||||||
|
version = "0.0.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
dependencies = [
|
||||||
|
"base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"headers-core 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"headers-derive 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"mime 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"sha-1 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "http"
|
name = "http"
|
||||||
version = "0.1.13"
|
version = "0.1.13"
|
||||||
@ -320,7 +355,7 @@ version = "0.12.11"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"h2 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
"h2 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
"http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -390,7 +425,7 @@ name = "lazy_static"
|
|||||||
version = "1.1.0"
|
version = "1.1.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -414,11 +449,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "librocksdb_sys"
|
name = "librocksdb_sys"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/pingcap/rust-rocksdb.git#d2fe0a96d18d8ba33da14e0feb49c57529ae28b6"
|
source = "git+https://github.com/pingcap/rust-rocksdb.git#f7205e63a0cba7590b5471c94b3ba002fb9c6a80"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bzip2-sys 0.1.6 (git+https://github.com/alexcrichton/bzip2-rs.git)",
|
"bzip2-sys 0.1.6 (git+https://github.com/alexcrichton/bzip2-rs.git)",
|
||||||
"cc 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"cmake 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cmake 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libz-sys 1.0.18 (git+https://github.com/busyjay/libz-sys.git?branch=static-link)",
|
"libz-sys 1.0.18 (git+https://github.com/busyjay/libz-sys.git?branch=static-link)",
|
||||||
"lz4-sys 1.8.0 (git+https://github.com/busyjay/lz4-rs.git?branch=adjust-build)",
|
"lz4-sys 1.8.0 (git+https://github.com/busyjay/lz4-rs.git?branch=adjust-build)",
|
||||||
@ -431,9 +466,9 @@ name = "libz-sys"
|
|||||||
version = "1.0.18"
|
version = "1.0.18"
|
||||||
source = "git+https://github.com/busyjay/libz-sys.git?branch=static-link#bb77b618ffc5ca41efd7a89d282d96e35e79dae4"
|
source = "git+https://github.com/busyjay/libz-sys.git?branch=static-link#bb77b618ffc5ca41efd7a89d282d96e35e79dae4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"pkg-config 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -459,7 +494,7 @@ name = "lz4-sys"
|
|||||||
version = "1.8.0"
|
version = "1.8.0"
|
||||||
source = "git+https://github.com/busyjay/lz4-rs.git?branch=adjust-build#41509fea212e9ca55c1f6c53d4fd1ddf28cdf689"
|
source = "git+https://github.com/busyjay/lz4-rs.git?branch=adjust-build#41509fea212e9ca55c1f6c53d4fd1ddf28cdf689"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cc 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -475,7 +510,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -484,7 +519,7 @@ version = "0.6.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -497,7 +532,7 @@ name = "mime"
|
|||||||
version = "0.3.9"
|
version = "0.3.9"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -565,7 +600,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -607,7 +642,7 @@ dependencies = [
|
|||||||
"rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -652,12 +687,12 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "pkg-config"
|
name = "pkg-config"
|
||||||
version = "0.3.13"
|
version = "0.3.14"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "proc-macro2"
|
name = "proc-macro2"
|
||||||
version = "0.4.19"
|
version = "0.4.20"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -668,7 +703,7 @@ name = "quote"
|
|||||||
version = "0.6.8"
|
version = "0.6.8"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -688,7 +723,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -699,45 +734,44 @@ dependencies = [
|
|||||||
"cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rand_core 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand_core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rand_core"
|
name = "rand_core"
|
||||||
version = "0.2.1"
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.3.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "raptor"
|
name = "raptor"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"csv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"elapsed 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"fst 0.3.2 (git+https://github.com/Kerollmops/fst.git?branch=automaton-for-deref)",
|
"fst 0.3.2 (git+https://github.com/Kerollmops/fst.git?branch=automaton-for-deref)",
|
||||||
"group-by 0.1.0 (git+https://github.com/Kerollmops/group-by.git)",
|
"group-by 0.1.0 (git+https://github.com/Kerollmops/group-by.git)",
|
||||||
"lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"levenshtein_automata 0.1.1 (git+https://github.com/Kerollmops/levenshtein-automata.git?branch=new-custom-fst)",
|
"levenshtein_automata 0.1.1 (git+https://github.com/Kerollmops/levenshtein-automata.git?branch=new-custom-fst)",
|
||||||
"rocksdb 0.3.0 (git+https://github.com/pingcap/rust-rocksdb.git)",
|
|
||||||
"sdset 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "raptor-cli"
|
|
||||||
version = "0.1.0"
|
|
||||||
dependencies = [
|
|
||||||
"csv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"elapsed 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"fst 0.3.2 (git+https://github.com/Kerollmops/fst.git?branch=automaton-for-deref)",
|
|
||||||
"moby-name-gen 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"moby-name-gen 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"raptor 0.1.0",
|
|
||||||
"rocksdb 0.3.0 (git+https://github.com/pingcap/rust-rocksdb.git)",
|
"rocksdb 0.3.0 (git+https://github.com/pingcap/rust-rocksdb.git)",
|
||||||
"serde 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
|
"sdset 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"serde 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_derive 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_derive 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"structopt 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"structopt 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"unidecode 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"unidecode 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"warp 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"warp 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -756,7 +790,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "rocksdb"
|
name = "rocksdb"
|
||||||
version = "0.3.0"
|
version = "0.3.0"
|
||||||
source = "git+https://github.com/pingcap/rust-rocksdb.git#d2fe0a96d18d8ba33da14e0feb49c57529ae28b6"
|
source = "git+https://github.com/pingcap/rust-rocksdb.git#f7205e63a0cba7590b5471c94b3ba002fb9c6a80"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -793,7 +827,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sdset"
|
name = "sdset"
|
||||||
version = "0.2.3"
|
version = "0.2.5"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -811,7 +845,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde"
|
name = "serde"
|
||||||
version = "1.0.75"
|
version = "1.0.79"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -819,19 +853,19 @@ name = "serde_derive"
|
|||||||
version = "1.0.79"
|
version = "1.0.79"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"syn 0.15.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"syn 0.15.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde_json"
|
name = "serde_json"
|
||||||
version = "1.0.31"
|
version = "1.0.32"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"ryu 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ryu 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -841,7 +875,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"url 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -879,9 +913,9 @@ name = "snappy-sys"
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
source = "git+https://github.com/busyjay/rust-snappy.git?branch=static-link#be02178330bb17648d6ac605af249eba18b32b71"
|
source = "git+https://github.com/busyjay/rust-snappy.git?branch=static-link#be02178330bb17648d6ac605af249eba18b32b71"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cmake 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cmake 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"pkg-config 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
"pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -901,39 +935,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "structopt"
|
name = "structopt"
|
||||||
version = "0.2.10"
|
version = "0.2.11"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"structopt-derive 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"structopt-derive 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "structopt-derive"
|
name = "structopt-derive"
|
||||||
version = "0.2.10"
|
version = "0.2.11"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
"syn 0.15.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "syn"
|
name = "syn"
|
||||||
version = "0.14.9"
|
version = "0.15.9"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "syn"
|
|
||||||
version = "0.15.7"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
@ -963,7 +987,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
"redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -972,7 +996,7 @@ version = "0.1.11"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
|
"mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio-current-thread 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-current-thread 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -993,7 +1017,7 @@ version = "0.1.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1002,7 +1026,7 @@ name = "tokio-current-thread"
|
|||||||
version = "0.1.3"
|
version = "0.1.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1011,7 +1035,7 @@ name = "tokio-executor"
|
|||||||
version = "0.1.5"
|
version = "0.1.5"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1019,7 +1043,7 @@ name = "tokio-fs"
|
|||||||
version = "0.1.3"
|
version = "0.1.3"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio-threadpool 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-threadpool 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
@ -1030,7 +1054,7 @@ version = "0.1.9"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -1040,7 +1064,7 @@ version = "0.1.6"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
|
"mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -1057,7 +1081,7 @@ version = "0.1.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
|
"mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -1071,7 +1095,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"crossbeam-deque 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"crossbeam-deque 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -1084,7 +1108,7 @@ version = "0.2.7"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
@ -1095,7 +1119,7 @@ version = "0.1.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
|
"mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -1109,7 +1133,7 @@ version = "0.2.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -1130,7 +1154,7 @@ version = "0.6.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"input_buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"input_buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -1151,15 +1175,15 @@ name = "unicase"
|
|||||||
version = "1.4.2"
|
version = "1.4.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unicase"
|
name = "unicase"
|
||||||
version = "2.1.0"
|
version = "2.2.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1230,7 +1254,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "version_check"
|
name = "version_check"
|
||||||
version = "0.1.4"
|
version = "0.1.5"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1243,31 +1267,32 @@ name = "want"
|
|||||||
version = "0.0.6"
|
version = "0.0.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "warp"
|
name = "warp"
|
||||||
version = "0.1.4"
|
version = "0.1.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
|
"futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"headers-ext 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
"http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"hyper 0.12.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"hyper 0.12.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"mime 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
"mime 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"mime_guess 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"mime_guess 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"scoped-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"scoped-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_json 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"serde_urlencoded 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"serde_urlencoded 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"sha-1 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"tokio-io 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"tokio-threadpool 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"tungstenite 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"tungstenite 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"urlencoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"urlencoding 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
@ -1279,7 +1304,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "winapi"
|
name = "winapi"
|
||||||
version = "0.3.5"
|
version = "0.3.6"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -1313,7 +1338,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "zstd-sys"
|
name = "zstd-sys"
|
||||||
version = "1.4.4+zstd.1.3.5"
|
version = "1.4.4+zstd.1.3.5"
|
||||||
source = "git+https://github.com/gyscos/zstd-rs.git#0100c8483ce88c9ab359d1aecdd199641dfb8b5e"
|
source = "git+https://github.com/gyscos/zstd-rs.git#43655c120c179d03538638aacd5304333ccd585b"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"blob 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"blob 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
"gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
@ -1333,14 +1358,14 @@ dependencies = [
|
|||||||
"checksum block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a076c298b9ecdb530ed9d967e74a6027d6a7478924520acddcddc24c1c8ab3ab"
|
"checksum block-buffer 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a076c298b9ecdb530ed9d967e74a6027d6a7478924520acddcddc24c1c8ab3ab"
|
||||||
"checksum build_const 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "39092a32794787acd8525ee150305ff051b0aa6cc2abaf193924f5ab05425f39"
|
"checksum build_const 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "39092a32794787acd8525ee150305ff051b0aa6cc2abaf193924f5ab05425f39"
|
||||||
"checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40"
|
"checksum byte-tools 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "560c32574a12a89ecd91f5e742165893f86e3ab98d21f8ea548658eb9eef5f40"
|
||||||
"checksum byteorder 1.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8389c509ec62b9fe8eca58c502a0acaf017737355615243496cde4994f8fa4f9"
|
"checksum byteorder 1.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "90492c5858dd7d2e78691cfb89f90d273a2800fc11d98f60786e5d87e2f83781"
|
||||||
"checksum bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "0ce55bd354b095246fc34caf4e9e242f5297a7fd938b090cadfea6eee614aa62"
|
"checksum bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "0ce55bd354b095246fc34caf4e9e242f5297a7fd938b090cadfea6eee614aa62"
|
||||||
"checksum bzip2-sys 0.1.6 (git+https://github.com/alexcrichton/bzip2-rs.git)" = "<none>"
|
"checksum bzip2-sys 0.1.6 (git+https://github.com/alexcrichton/bzip2-rs.git)" = "<none>"
|
||||||
"checksum cc 1.0.22 (registry+https://github.com/rust-lang/crates.io-index)" = "4a6007c146fdd28d4512a794b07ffe9d8e89e6bf86e2e0c4ddff2e1fb54a0007"
|
"checksum cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16"
|
||||||
"checksum cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0c4e7bb64a8ebb0d856483e1e682ea3422f883c5f5615a90d51a2c82fe87fdd3"
|
"checksum cfg-if 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0c4e7bb64a8ebb0d856483e1e682ea3422f883c5f5615a90d51a2c82fe87fdd3"
|
||||||
"checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e"
|
"checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e"
|
||||||
"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
|
"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
|
||||||
"checksum cmake 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "704fbf3bb5149daab0afb255dbea24a1f08d2f4099cedb9baab6d470d4c5eefb"
|
"checksum cmake 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)" = "6ec65ee4f9c9d16f335091d23693457ed4928657ba4982289d7fafee03bc614a"
|
||||||
"checksum crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb"
|
"checksum crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb"
|
||||||
"checksum crossbeam-deque 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3486aefc4c0487b9cb52372c97df0a48b8c249514af1ee99703bf70d2f2ceda1"
|
"checksum crossbeam-deque 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3486aefc4c0487b9cb52372c97df0a48b8c249514af1ee99703bf70d2f2ceda1"
|
||||||
"checksum crossbeam-epoch 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "30fecfcac6abfef8771151f8be4abc9e4edc112c2bcb233314cafde2680536e9"
|
"checksum crossbeam-epoch 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "30fecfcac6abfef8771151f8be4abc9e4edc112c2bcb233314cafde2680536e9"
|
||||||
@ -1355,13 +1380,16 @@ dependencies = [
|
|||||||
"checksum fst 0.3.2 (git+https://github.com/Kerollmops/fst.git?branch=automaton-for-deref)" = "<none>"
|
"checksum fst 0.3.2 (git+https://github.com/Kerollmops/fst.git?branch=automaton-for-deref)" = "<none>"
|
||||||
"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
|
"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
|
||||||
"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
|
"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
|
||||||
"checksum futures 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "0c84b40c7e2de99ffd70602db314a7a8c26b2b3d830e6f7f7a142a8860ab3ca4"
|
"checksum futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)" = "49e7653e374fe0d0c12de4250f0bdb60680b8c80eed558c5c7538eec9c89e21b"
|
||||||
"checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
|
"checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
|
||||||
"checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb"
|
"checksum gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)" = "5e33ec290da0d127825013597dbdfc28bee4964690c7ce1166cbc2a7bd08b1bb"
|
||||||
"checksum generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef25c5683767570c2bbd7deba372926a55eaae9982d7726ee2a1050239d45b9d"
|
"checksum generic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ef25c5683767570c2bbd7deba372926a55eaae9982d7726ee2a1050239d45b9d"
|
||||||
"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb"
|
"checksum glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "8be18de09a56b60ed0edf84bc9df007e30040691af7acd1c41874faac5895bfb"
|
||||||
"checksum group-by 0.1.0 (git+https://github.com/Kerollmops/group-by.git)" = "<none>"
|
"checksum group-by 0.1.0 (git+https://github.com/Kerollmops/group-by.git)" = "<none>"
|
||||||
"checksum h2 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "a27e7ed946e8335bdf9a191bc1b9b14a03ba822d013d2f58437f4fabcbd7fc2c"
|
"checksum h2 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "a27e7ed946e8335bdf9a191bc1b9b14a03ba822d013d2f58437f4fabcbd7fc2c"
|
||||||
|
"checksum headers-core 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7794c3bca3a5fb812a06d43f715cf857f7b037d52d6d8e054231d439dd839073"
|
||||||
|
"checksum headers-derive 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "93b8509be5e3893b8c9c37805a05aa57e4561cf1f1a2aab30cec4931127f36ca"
|
||||||
|
"checksum headers-ext 0.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ecc8a15225d53eb74217a415409499e0ca7f7a3930efefb22b09d33bb43687fe"
|
||||||
"checksum http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "24f58e8c2d8e886055c3ead7b28793e1455270b5fb39650984c224bc538ba581"
|
"checksum http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "24f58e8c2d8e886055c3ead7b28793e1455270b5fb39650984c224bc538ba581"
|
||||||
"checksum httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83"
|
"checksum httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83"
|
||||||
"checksum hyper 0.12.11 (registry+https://github.com/rust-lang/crates.io-index)" = "78d50abbd1790e0f4c74cb1d4a2211b439bac661d54107ad5564c55e77906762"
|
"checksum hyper 0.12.11 (registry+https://github.com/rust-lang/crates.io-index)" = "78d50abbd1790e0f4c74cb1d4a2211b439bac661d54107ad5564c55e77906762"
|
||||||
@ -1401,13 +1429,14 @@ dependencies = [
|
|||||||
"checksum phf_codegen 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "7d187f00cd98d5afbcd8898f6cf181743a449162aeb329dcd2f3849009e605ad"
|
"checksum phf_codegen 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "7d187f00cd98d5afbcd8898f6cf181743a449162aeb329dcd2f3849009e605ad"
|
||||||
"checksum phf_generator 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "03dc191feb9b08b0dc1330d6549b795b9d81aec19efe6b4a45aec8d4caee0c4b"
|
"checksum phf_generator 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "03dc191feb9b08b0dc1330d6549b795b9d81aec19efe6b4a45aec8d4caee0c4b"
|
||||||
"checksum phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "b539898d22d4273ded07f64a05737649dc69095d92cb87c7097ec68e3f150b93"
|
"checksum phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "b539898d22d4273ded07f64a05737649dc69095d92cb87c7097ec68e3f150b93"
|
||||||
"checksum pkg-config 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "104630aa1c83213cbc76db0703630fcb0421dac3585063be4ce9a8a2feeaa745"
|
"checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c"
|
||||||
"checksum proc-macro2 0.4.19 (registry+https://github.com/rust-lang/crates.io-index)" = "ffe022fb8c8bd254524b0b3305906c1921fa37a84a644e29079a9e62200c3901"
|
"checksum proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)" = "3d7b7eaaa90b4a90a932a9ea6666c95a389e424eff347f0f793979289429feee"
|
||||||
"checksum quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dd636425967c33af890042c483632d33fa7a18f19ad1d7ea72e8998c6ef8dea5"
|
"checksum quote 0.6.8 (registry+https://github.com/rust-lang/crates.io-index)" = "dd636425967c33af890042c483632d33fa7a18f19ad1d7ea72e8998c6ef8dea5"
|
||||||
"checksum rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)" = "15a732abf9d20f0ad8eeb6f909bf6868722d9a06e1e50802b6a70351f40b4eb1"
|
"checksum rand 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)" = "15a732abf9d20f0ad8eeb6f909bf6868722d9a06e1e50802b6a70351f40b4eb1"
|
||||||
"checksum rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8356f47b32624fef5b3301c1be97e5944ecdd595409cc5da11d05f211db6cfbd"
|
"checksum rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8356f47b32624fef5b3301c1be97e5944ecdd595409cc5da11d05f211db6cfbd"
|
||||||
"checksum rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e464cd887e869cddcae8792a4ee31d23c7edd516700695608f5b98c67ee0131c"
|
"checksum rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e464cd887e869cddcae8792a4ee31d23c7edd516700695608f5b98c67ee0131c"
|
||||||
"checksum rand_core 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "edecf0f94da5551fc9b492093e30b041a891657db7940ee221f9d2f66e82eef2"
|
"checksum rand_core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1961a422c4d189dfb50ffa9320bf1f2a9bd54ecb92792fb9477f99a1045f3372"
|
||||||
|
"checksum rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0905b6b7079ec73b314d4c748701f6931eb79fd97c668caa3f1899b22b32c6db"
|
||||||
"checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1"
|
"checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1"
|
||||||
"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
|
"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
|
||||||
"checksum rocksdb 0.3.0 (git+https://github.com/pingcap/rust-rocksdb.git)" = "<none>"
|
"checksum rocksdb 0.3.0 (git+https://github.com/pingcap/rust-rocksdb.git)" = "<none>"
|
||||||
@ -1416,12 +1445,12 @@ dependencies = [
|
|||||||
"checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9"
|
"checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9"
|
||||||
"checksum scoped-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28"
|
"checksum scoped-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28"
|
||||||
"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
|
"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
|
||||||
"checksum sdset 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d51ad726aa3a9c4d777b35be3a4d6d5f9d6cbc0978e81c7d690d31192f263843"
|
"checksum sdset 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "db985dfe5957ddac496c53a5e82f471946103460f288871e3e94cee29aa29b4d"
|
||||||
"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
|
"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
|
||||||
"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
|
"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
|
||||||
"checksum serde 1.0.75 (registry+https://github.com/rust-lang/crates.io-index)" = "22d340507cea0b7e6632900a176101fea959c7065d93ba555072da90aaaafc87"
|
"checksum serde 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)" = "84257ccd054dc351472528c8587b4de2dbf0dc0fe2e634030c1a90bfdacebaa9"
|
||||||
"checksum serde_derive 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)" = "31569d901045afbff7a9479f793177fe9259819aff10ab4f89ef69bbc5f567fe"
|
"checksum serde_derive 1.0.79 (registry+https://github.com/rust-lang/crates.io-index)" = "31569d901045afbff7a9479f793177fe9259819aff10ab4f89ef69bbc5f567fe"
|
||||||
"checksum serde_json 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)" = "bb47a3d5c84320222f66d7db21157c4a7407755de41798f9b4c1c40593397b1a"
|
"checksum serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)" = "43344e7ce05d0d8280c5940cabb4964bea626aa58b1ec0e8c73fa2a8512a38ce"
|
||||||
"checksum serde_urlencoded 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "aaed41d9fb1e2f587201b863356590c90c1157495d811430a0c0325fe8169650"
|
"checksum serde_urlencoded 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "aaed41d9fb1e2f587201b863356590c90c1157495d811430a0c0325fe8169650"
|
||||||
"checksum sha-1 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "51b9d1f3b5de8a167ab06834a7c883bd197f2191e1dda1a22d9ccfeedbf9aded"
|
"checksum sha-1 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "51b9d1f3b5de8a167ab06834a7c883bd197f2191e1dda1a22d9ccfeedbf9aded"
|
||||||
"checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
|
"checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
|
||||||
@ -1431,10 +1460,9 @@ dependencies = [
|
|||||||
"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
|
"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
|
||||||
"checksum string 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00caf261d6f90f588f8450b8e1230fa0d5be49ee6140fdfbcb55335aff350970"
|
"checksum string 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00caf261d6f90f588f8450b8e1230fa0d5be49ee6140fdfbcb55335aff350970"
|
||||||
"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
|
"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
|
||||||
"checksum structopt 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d8e9ad6a11096cbecdcca0cc6aa403fdfdbaeda2fb3323a39c98e6a166a1e45a"
|
"checksum structopt 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "ca85f2c9a5a1e2d5ac686fc0be48e40f8ad803f5bbe31f692ff71eb2dd8aad45"
|
||||||
"checksum structopt-derive 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4cbce8ccdc62166bd594c14396a3242bf94c337a51dbfa9be1076dd74b3db2af"
|
"checksum structopt-derive 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "1383e5db585da799a5c4acc496c5c868e18bf82e658c00c75cc91038fa26b55f"
|
||||||
"checksum syn 0.14.9 (registry+https://github.com/rust-lang/crates.io-index)" = "261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741"
|
"checksum syn 0.15.9 (registry+https://github.com/rust-lang/crates.io-index)" = "b10ee269228fb723234fce98e9aac0eaed2bd5f1ad2f6930e8d5b93f04445a1a"
|
||||||
"checksum syn 0.15.7 (registry+https://github.com/rust-lang/crates.io-index)" = "455a6ec9b368f8c479b0ae5494d13b22dc00990d2f00d68c9dc6a2dc4f17f210"
|
|
||||||
"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
|
"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
|
||||||
"checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6"
|
"checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6"
|
||||||
"checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b"
|
"checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b"
|
||||||
@ -1454,7 +1482,7 @@ dependencies = [
|
|||||||
"checksum tungstenite 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "91541638322b14335fa96c3a4167d9424de72f22986b9d12a52350873b4e83f1"
|
"checksum tungstenite 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "91541638322b14335fa96c3a4167d9424de72f22986b9d12a52350873b4e83f1"
|
||||||
"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"
|
"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"
|
||||||
"checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
|
"checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
|
||||||
"checksum unicase 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "284b6d3db520d67fbe88fd778c21510d1b0ba4a551e5d0fbb023d33405f6de8a"
|
"checksum unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d3218ea14b4edcaccfa0df0a64a3792a2c32cc706f1b336e48867f9d3147f90"
|
||||||
"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
|
"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
|
||||||
"checksum unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6a0180bc61fc5a987082bfa111f4cc95c4caff7f9799f3e46df09163a937aa25"
|
"checksum unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6a0180bc61fc5a987082bfa111f4cc95c4caff7f9799f3e46df09163a937aa25"
|
||||||
"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
|
"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
|
||||||
@ -1466,12 +1494,12 @@ dependencies = [
|
|||||||
"checksum utf-8 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bab35f71693630bb1953dce0f2bcd780e7cde025027124a202ac08a45ba25141"
|
"checksum utf-8 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "bab35f71693630bb1953dce0f2bcd780e7cde025027124a202ac08a45ba25141"
|
||||||
"checksum vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "def296d3eb3b12371b2c7d0e83bfe1403e4db2d7a0bba324a12b21c4ee13143d"
|
"checksum vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "def296d3eb3b12371b2c7d0e83bfe1403e4db2d7a0bba324a12b21c4ee13143d"
|
||||||
"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
|
"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
|
||||||
"checksum version_check 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7716c242968ee87e5542f8021178248f267f295a5c4803beae8b8b7fd9bc6051"
|
"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
|
||||||
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
|
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
|
||||||
"checksum want 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "797464475f30ddb8830cc529aaaae648d581f99e2036a928877dfde027ddf6b3"
|
"checksum want 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "797464475f30ddb8830cc529aaaae648d581f99e2036a928877dfde027ddf6b3"
|
||||||
"checksum warp 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f3c669972fab8d3d249cb4516512448b0ae143433e23eac1a157081e8752f5a9"
|
"checksum warp 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "edfd67b2ac89e5ac5b751cea125fd99983adf4ec31cf13be856730bc2e007e94"
|
||||||
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
|
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
|
||||||
"checksum winapi 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "773ef9dcc5f24b7d850d0ff101e542ff24c3b090a9768e03ff889fdef41f00fd"
|
"checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0"
|
||||||
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
|
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
|
||||||
"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
||||||
"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||||
|
48
Cargo.toml
48
Cargo.toml
@ -1,37 +1,37 @@
|
|||||||
[package]
|
[package]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
name = "raptor-cli"
|
name = "raptor"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
authors = ["Clément Renault <renault.cle@gmail.com>"]
|
authors = ["Kerollmops <renault.cle@gmail.com>"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
raptor = { path = "raptor" }
|
byteorder = "1.2"
|
||||||
rocksdb = { git = "https://github.com/pingcap/rust-rocksdb.git" }
|
lazy_static = "1.1"
|
||||||
serde_derive = "1.0"
|
sdset = "0.2"
|
||||||
structopt = "0.2"
|
fnv = "1.0"
|
||||||
serde = "1.0"
|
|
||||||
warp = { version = "0.1", optional = true }
|
|
||||||
serde_json = { version = "1.0", optional = true }
|
|
||||||
csv = { version = "1.0", optional = true }
|
|
||||||
moby-name-gen = { version = "0.1", optional = true }
|
|
||||||
unidecode = { version = "0.3", optional = true }
|
|
||||||
elapsed = { version = "0.1", optional = true }
|
|
||||||
|
|
||||||
[dependencies.fst]
|
[dependencies.fst]
|
||||||
git = "https://github.com/Kerollmops/fst.git"
|
git = "https://github.com/Kerollmops/fst.git"
|
||||||
branch = "automaton-for-deref"
|
branch = "automaton-for-deref"
|
||||||
|
|
||||||
[features]
|
[dependencies.levenshtein_automata]
|
||||||
default = ["index-csv", "serve-http"]
|
git = "https://github.com/Kerollmops/levenshtein-automata.git"
|
||||||
|
branch = "new-custom-fst"
|
||||||
|
features = ["fst_automaton"]
|
||||||
|
|
||||||
index-jsonlines = ["index", "serde_json"]
|
[dependencies.rocksdb]
|
||||||
index-csv = ["index", "csv"]
|
git = "https://github.com/pingcap/rust-rocksdb.git"
|
||||||
index = ["moby-name-gen", "unidecode"]
|
|
||||||
|
|
||||||
serve-http = ["serve", "warp", "serde_json"]
|
[dependencies.group-by]
|
||||||
serve-console = ["serve", "elapsed"]
|
git = "https://github.com/Kerollmops/group-by.git"
|
||||||
serve = []
|
|
||||||
|
|
||||||
[profile.release]
|
[dev-dependencies]
|
||||||
lto = true
|
moby-name-gen = "0.1"
|
||||||
debug = true
|
serde_derive = "1.0"
|
||||||
|
serde_json = "1.0"
|
||||||
|
structopt = "0.2"
|
||||||
|
unidecode = "0.3"
|
||||||
|
elapsed = "0.1"
|
||||||
|
serde = "1.0"
|
||||||
|
warp = "0.1"
|
||||||
|
csv = "1.0"
|
||||||
|
173
en.stopwords.txt
Normal file
173
en.stopwords.txt
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
a
|
||||||
|
about
|
||||||
|
above
|
||||||
|
after
|
||||||
|
again
|
||||||
|
against
|
||||||
|
all
|
||||||
|
am
|
||||||
|
an
|
||||||
|
and
|
||||||
|
any
|
||||||
|
are
|
||||||
|
aren't
|
||||||
|
as
|
||||||
|
at
|
||||||
|
be
|
||||||
|
because
|
||||||
|
been
|
||||||
|
before
|
||||||
|
being
|
||||||
|
below
|
||||||
|
between
|
||||||
|
both
|
||||||
|
but
|
||||||
|
by
|
||||||
|
can't
|
||||||
|
cannot
|
||||||
|
could
|
||||||
|
couldn't
|
||||||
|
did
|
||||||
|
didn't
|
||||||
|
do
|
||||||
|
does
|
||||||
|
doesn't
|
||||||
|
doing
|
||||||
|
don't
|
||||||
|
down
|
||||||
|
during
|
||||||
|
each
|
||||||
|
few
|
||||||
|
for
|
||||||
|
from
|
||||||
|
further
|
||||||
|
had
|
||||||
|
hadn't
|
||||||
|
has
|
||||||
|
hasn't
|
||||||
|
have
|
||||||
|
haven't
|
||||||
|
having
|
||||||
|
he
|
||||||
|
he'd
|
||||||
|
he'll
|
||||||
|
he's
|
||||||
|
her
|
||||||
|
here
|
||||||
|
here's
|
||||||
|
hers
|
||||||
|
herself
|
||||||
|
him
|
||||||
|
himself
|
||||||
|
his
|
||||||
|
how
|
||||||
|
how's
|
||||||
|
i
|
||||||
|
i'd
|
||||||
|
i'll
|
||||||
|
i'm
|
||||||
|
i've
|
||||||
|
if
|
||||||
|
in
|
||||||
|
into
|
||||||
|
is
|
||||||
|
isn't
|
||||||
|
it
|
||||||
|
it's
|
||||||
|
its
|
||||||
|
itself
|
||||||
|
let's
|
||||||
|
me
|
||||||
|
more
|
||||||
|
most
|
||||||
|
mustn't
|
||||||
|
my
|
||||||
|
myself
|
||||||
|
no
|
||||||
|
nor
|
||||||
|
not
|
||||||
|
of
|
||||||
|
off
|
||||||
|
on
|
||||||
|
once
|
||||||
|
only
|
||||||
|
or
|
||||||
|
other
|
||||||
|
ought
|
||||||
|
our
|
||||||
|
ours ourselves
|
||||||
|
out
|
||||||
|
over
|
||||||
|
own
|
||||||
|
same
|
||||||
|
shan't
|
||||||
|
she
|
||||||
|
she'd
|
||||||
|
she'll
|
||||||
|
she's
|
||||||
|
should
|
||||||
|
shouldn't
|
||||||
|
so
|
||||||
|
some
|
||||||
|
such
|
||||||
|
than
|
||||||
|
that
|
||||||
|
that's
|
||||||
|
the
|
||||||
|
their
|
||||||
|
theirs
|
||||||
|
them
|
||||||
|
themselves
|
||||||
|
then
|
||||||
|
there
|
||||||
|
there's
|
||||||
|
these
|
||||||
|
they
|
||||||
|
they'd
|
||||||
|
they'll
|
||||||
|
they're
|
||||||
|
they've
|
||||||
|
this
|
||||||
|
those
|
||||||
|
through
|
||||||
|
to
|
||||||
|
too
|
||||||
|
under
|
||||||
|
until
|
||||||
|
up
|
||||||
|
very
|
||||||
|
was
|
||||||
|
wasn't
|
||||||
|
we
|
||||||
|
we'd
|
||||||
|
we'll
|
||||||
|
we're
|
||||||
|
we've
|
||||||
|
were
|
||||||
|
weren't
|
||||||
|
what
|
||||||
|
what's
|
||||||
|
when
|
||||||
|
when's
|
||||||
|
where
|
||||||
|
where's
|
||||||
|
which
|
||||||
|
while
|
||||||
|
who
|
||||||
|
who's
|
||||||
|
whom
|
||||||
|
why
|
||||||
|
why's
|
||||||
|
with
|
||||||
|
won't
|
||||||
|
would
|
||||||
|
wouldn't
|
||||||
|
you
|
||||||
|
you'd
|
||||||
|
you'll
|
||||||
|
you're
|
||||||
|
you've
|
||||||
|
your
|
||||||
|
yours
|
||||||
|
yourself
|
||||||
|
yourselves
|
@ -1,26 +1,32 @@
|
|||||||
|
#[macro_use] extern crate serde_derive;
|
||||||
|
|
||||||
use std::collections::BTreeMap;
|
use std::collections::BTreeMap;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
use std::io;
|
use std::io;
|
||||||
|
|
||||||
use rocksdb::{SstFileWriter, EnvOptions, ColumnFamilyOptions};
|
|
||||||
use raptor::{MetadataBuilder, DocIndex, Tokenizer};
|
|
||||||
use unidecode::unidecode;
|
|
||||||
use csv::ReaderBuilder;
|
use csv::ReaderBuilder;
|
||||||
|
use raptor::{MetadataBuilder, DocIndex, Tokenizer, CommonWords};
|
||||||
|
use rocksdb::{SstFileWriter, EnvOptions, ColumnFamilyOptions};
|
||||||
|
use structopt::StructOpt;
|
||||||
|
|
||||||
use crate::common_words::{self, CommonWords};
|
#[derive(Debug, StructOpt)]
|
||||||
use crate::index::csv_feature::CommandCsv;
|
pub struct CommandCsv {
|
||||||
|
/// The stop word file, each word must be separated by a newline.
|
||||||
|
#[structopt(long = "stop-words", parse(from_os_str))]
|
||||||
|
pub stop_words: PathBuf,
|
||||||
|
|
||||||
|
/// The csv file to index.
|
||||||
|
#[structopt(parse(from_os_str))]
|
||||||
|
pub products: PathBuf,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug, Deserialize)]
|
#[derive(Debug, Deserialize)]
|
||||||
struct Product {
|
struct Product {
|
||||||
#[serde(rename = "_unit_id")]
|
|
||||||
id: u64,
|
id: u64,
|
||||||
#[serde(rename = "product_title")]
|
|
||||||
title: String,
|
title: String,
|
||||||
#[serde(rename = "product_image")]
|
|
||||||
image: String,
|
|
||||||
#[serde(rename = "product_description")]
|
|
||||||
description: String,
|
description: String,
|
||||||
|
image: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
@ -31,21 +37,22 @@ pub struct CsvIndexer {
|
|||||||
|
|
||||||
impl CsvIndexer {
|
impl CsvIndexer {
|
||||||
pub fn from_command(command: CommandCsv) -> io::Result<CsvIndexer> {
|
pub fn from_command(command: CommandCsv) -> io::Result<CsvIndexer> {
|
||||||
let common_words = common_words::from_file(command.stop_words)?;
|
let common_words = CommonWords::from_file(command.stop_words)?;
|
||||||
let products = command.products;
|
let products = command.products;
|
||||||
|
|
||||||
Ok(CsvIndexer { common_words, products })
|
Ok(CsvIndexer { common_words, products })
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn index(self) {
|
pub fn index(self) {
|
||||||
let random_name = moby_name_gen::random_name();
|
let random_name = PathBuf::from(moby_name_gen::random_name());
|
||||||
let map_file = format!("{}.map", random_name);
|
let map_file = random_name.with_extension("map");
|
||||||
let idx_file = format!("{}.idx", random_name);
|
let idx_file = random_name.with_extension("idx");
|
||||||
let sst_file = format!("{}.sst", random_name);
|
let sst_file = random_name.with_extension("sst");
|
||||||
|
|
||||||
let env_options = EnvOptions::new();
|
let env_options = EnvOptions::new();
|
||||||
let cf_options = ColumnFamilyOptions::new();
|
let cf_options = ColumnFamilyOptions::new();
|
||||||
let mut sst_file_writer = SstFileWriter::new(env_options, cf_options);
|
let mut sst_file_writer = SstFileWriter::new(env_options, cf_options);
|
||||||
|
let sst_file = sst_file.to_str().unwrap();
|
||||||
sst_file_writer.open(&sst_file).expect("open the sst file");
|
sst_file_writer.open(&sst_file).expect("open the sst file");
|
||||||
|
|
||||||
let map = File::create(&map_file).unwrap();
|
let map = File::create(&map_file).unwrap();
|
||||||
@ -62,28 +69,41 @@ impl CsvIndexer {
|
|||||||
Err(e) => { eprintln!("{:?}", e); errors += 1; continue },
|
Err(e) => { eprintln!("{:?}", e); errors += 1; continue },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
{
|
||||||
|
let string_id = product.id.to_string();
|
||||||
|
insert_document_words(&mut builder, product.id, 0, Some((0, string_id.as_str())));
|
||||||
|
|
||||||
|
let key = format!("{}-id", product.id);
|
||||||
|
let value = string_id;
|
||||||
|
fields.insert(key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
let title = Tokenizer::new(&product.title);
|
let title = Tokenizer::new(&product.title);
|
||||||
let title = title.iter().filter(|&(_, w)| !self.common_words.contains(w));
|
let title = title.iter().filter(|&(_, w)| !self.common_words.contains(w));
|
||||||
insert_document_words(&mut builder, product.id, 0, title);
|
insert_document_words(&mut builder, product.id, 1, title);
|
||||||
|
|
||||||
let description = Tokenizer::new(&product.description);
|
|
||||||
let description = description.iter().filter(|&(_, w)| !self.common_words.contains(w));
|
|
||||||
insert_document_words(&mut builder, product.id, 1, description);
|
|
||||||
|
|
||||||
// TODO simplify this by using functions and
|
|
||||||
// use the MetadataBuilder internal BTreeMap ?
|
|
||||||
let key = format!("{}-title", product.id);
|
let key = format!("{}-title", product.id);
|
||||||
let value = product.title;
|
let value = product.title;
|
||||||
fields.insert(key, value);
|
fields.insert(key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
let description = Tokenizer::new(&product.description);
|
||||||
|
let description = description.iter().filter(|&(_, w)| !self.common_words.contains(w));
|
||||||
|
insert_document_words(&mut builder, product.id, 2, description);
|
||||||
|
|
||||||
let key = format!("{}-description", product.id);
|
let key = format!("{}-description", product.id);
|
||||||
let value = product.description;
|
let value = product.description;
|
||||||
fields.insert(key, value);
|
fields.insert(key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
let key = format!("{}-image", product.id);
|
let key = format!("{}-image", product.id);
|
||||||
let value = product.image;
|
let value = product.image;
|
||||||
fields.insert(key, value);
|
fields.insert(key, value);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (key, value) in fields {
|
for (key, value) in fields {
|
||||||
sst_file_writer.put(key.as_bytes(), value.as_bytes()).unwrap();
|
sst_file_writer.put(key.as_bytes(), value.as_bytes()).unwrap();
|
||||||
@ -112,7 +132,7 @@ where A: io::Write,
|
|||||||
let word_lower = word.to_lowercase();
|
let word_lower = word.to_lowercase();
|
||||||
|
|
||||||
// and the unidecoded lowercased version
|
// and the unidecoded lowercased version
|
||||||
let word_unidecoded = unidecode(word).to_lowercase();
|
let word_unidecoded = unidecode::unidecode(word).to_lowercase();
|
||||||
if word_lower != word_unidecoded {
|
if word_lower != word_unidecoded {
|
||||||
builder.insert(word_unidecoded, doc_index);
|
builder.insert(word_unidecoded, doc_index);
|
||||||
}
|
}
|
||||||
@ -120,3 +140,9 @@ where A: io::Write,
|
|||||||
builder.insert(word_lower, doc_index);
|
builder.insert(word_lower, doc_index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let command = CommandCsv::from_args();
|
||||||
|
let indexer = CsvIndexer::from_command(command).unwrap();
|
||||||
|
indexer.index();
|
||||||
|
}
|
153
examples/json-lines-indexer.rs
Normal file
153
examples/json-lines-indexer.rs
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
#[macro_use] extern crate serde_derive;
|
||||||
|
|
||||||
|
use std::collections::BTreeMap;
|
||||||
|
use std::io::{self, BufReader, BufRead};
|
||||||
|
use std::fs::File;
|
||||||
|
use std::path::PathBuf;
|
||||||
|
|
||||||
|
use serde_json::from_str;
|
||||||
|
use rocksdb::{SstFileWriter, EnvOptions, ColumnFamilyOptions};
|
||||||
|
use raptor::{MetadataBuilder, DocIndex, Tokenizer, CommonWords};
|
||||||
|
use structopt::StructOpt;
|
||||||
|
|
||||||
|
#[derive(Debug, StructOpt)]
|
||||||
|
pub struct CommandJsonLines {
|
||||||
|
/// The stop word file, each word must be separated by a newline.
|
||||||
|
#[structopt(long = "stop-words", parse(from_os_str))]
|
||||||
|
pub stop_words: PathBuf,
|
||||||
|
|
||||||
|
/// The csv file to index.
|
||||||
|
#[structopt(parse(from_os_str))]
|
||||||
|
pub products: PathBuf,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Deserialize)]
|
||||||
|
struct Product {
|
||||||
|
id: u64,
|
||||||
|
title: String,
|
||||||
|
description: String,
|
||||||
|
image: String,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
|
pub struct JsonLinesIndexer {
|
||||||
|
common_words: CommonWords,
|
||||||
|
products: PathBuf,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl JsonLinesIndexer {
|
||||||
|
pub fn from_command(command: CommandJsonLines) -> io::Result<JsonLinesIndexer> {
|
||||||
|
let common_words = CommonWords::from_file(command.stop_words)?;
|
||||||
|
let products = command.products;
|
||||||
|
|
||||||
|
Ok(JsonLinesIndexer { common_words, products })
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn index(self) {
|
||||||
|
let data = File::open(&self.products).unwrap();
|
||||||
|
let data = BufReader::new(data);
|
||||||
|
|
||||||
|
// TODO add a subcommand to pack these files in a tar.xxx archive
|
||||||
|
let random_name = PathBuf::from(moby_name_gen::random_name());
|
||||||
|
let map_file = random_name.with_extension("map");
|
||||||
|
let idx_file = random_name.with_extension("idx");
|
||||||
|
let sst_file = random_name.with_extension("sst");
|
||||||
|
|
||||||
|
let env_options = EnvOptions::new();
|
||||||
|
let cf_options = ColumnFamilyOptions::new();
|
||||||
|
let mut sst_file_writer = SstFileWriter::new(env_options, cf_options);
|
||||||
|
let sst_file = sst_file.to_str().unwrap();
|
||||||
|
sst_file_writer.open(&sst_file).expect("open the sst file");
|
||||||
|
|
||||||
|
let map = File::create(&map_file).unwrap();
|
||||||
|
let indexes = File::create(&idx_file).unwrap();
|
||||||
|
let mut builder = MetadataBuilder::new(map, indexes);
|
||||||
|
let mut fields = BTreeMap::new();
|
||||||
|
let mut errors = 0;
|
||||||
|
|
||||||
|
for result in data.lines() {
|
||||||
|
let product: Product = match result {
|
||||||
|
Ok(product) => match from_str(&product) {
|
||||||
|
Ok(product) => product,
|
||||||
|
Err(e) => { eprintln!("{:?}", e); errors += 1; continue },
|
||||||
|
},
|
||||||
|
Err(e) => { eprintln!("{:?}", e); errors += 1; continue },
|
||||||
|
};
|
||||||
|
|
||||||
|
{
|
||||||
|
let string_id = product.id.to_string();
|
||||||
|
insert_document_words(&mut builder, product.id, 0, Some((0, string_id.as_str())));
|
||||||
|
|
||||||
|
let key = format!("{}-id", product.id);
|
||||||
|
let value = string_id;
|
||||||
|
fields.insert(key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
let title = Tokenizer::new(&product.title);
|
||||||
|
let title = title.iter().filter(|&(_, w)| !self.common_words.contains(w));
|
||||||
|
insert_document_words(&mut builder, product.id, 1, title);
|
||||||
|
|
||||||
|
let key = format!("{}-title", product.id);
|
||||||
|
let value = product.title;
|
||||||
|
fields.insert(key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
let description = Tokenizer::new(&product.description);
|
||||||
|
let description = description.iter().filter(|&(_, w)| !self.common_words.contains(w));
|
||||||
|
insert_document_words(&mut builder, product.id, 2, description);
|
||||||
|
|
||||||
|
let key = format!("{}-description", product.id);
|
||||||
|
let value = product.description;
|
||||||
|
fields.insert(key, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
let key = format!("{}-image", product.id);
|
||||||
|
let value = product.image;
|
||||||
|
fields.insert(key, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (key, value) in fields {
|
||||||
|
sst_file_writer.put(key.as_bytes(), value.as_bytes()).unwrap();
|
||||||
|
}
|
||||||
|
let _sst_file_info = sst_file_writer.finish().unwrap();
|
||||||
|
|
||||||
|
builder.finish().unwrap();
|
||||||
|
|
||||||
|
println!("Found {} errorneous lines", errors);
|
||||||
|
println!("Succesfully created {:?} dump.", random_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn insert_document_words<'a, I, A, B>(builder: &mut MetadataBuilder<A, B>, doc_index: u64, attr: u8, words: I)
|
||||||
|
where A: io::Write,
|
||||||
|
B: io::Write,
|
||||||
|
I: IntoIterator<Item=(usize, &'a str)>,
|
||||||
|
{
|
||||||
|
for (index, word) in words {
|
||||||
|
let doc_index = DocIndex {
|
||||||
|
document: doc_index,
|
||||||
|
attribute: attr,
|
||||||
|
attribute_index: index as u32,
|
||||||
|
};
|
||||||
|
// insert the exact representation
|
||||||
|
let word_lower = word.to_lowercase();
|
||||||
|
|
||||||
|
// and the unidecoded lowercased version
|
||||||
|
let word_unidecoded = unidecode::unidecode(word).to_lowercase();
|
||||||
|
if word_lower != word_unidecoded {
|
||||||
|
builder.insert(word_unidecoded, doc_index);
|
||||||
|
}
|
||||||
|
|
||||||
|
builder.insert(word_lower, doc_index);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let command = CommandJsonLines::from_args();
|
||||||
|
let indexer = JsonLinesIndexer::from_command(command).unwrap();
|
||||||
|
indexer.index();
|
||||||
|
}
|
@ -1,13 +1,23 @@
|
|||||||
use std::str::from_utf8_unchecked;
|
use std::str::from_utf8_unchecked;
|
||||||
use std::io::{self, Write};
|
use std::io::{self, Write};
|
||||||
|
use structopt::StructOpt;
|
||||||
|
use std::path::PathBuf;
|
||||||
|
|
||||||
use fst::Streamer;
|
use fst::Streamer;
|
||||||
use elapsed::measure_time;
|
use elapsed::measure_time;
|
||||||
use rocksdb::{DB, DBOptions, IngestExternalFileOptions};
|
use rocksdb::{DB, DBOptions, IngestExternalFileOptions};
|
||||||
use raptor::{automaton, Metadata, RankedStream};
|
use raptor::{automaton, Metadata, RankedStream, CommonWords};
|
||||||
|
|
||||||
use crate::serve::console_feature::CommandConsole;
|
#[derive(Debug, StructOpt)]
|
||||||
use crate::common_words::{self, CommonWords};
|
pub struct CommandConsole {
|
||||||
|
/// The stop word file, each word must be separated by a newline.
|
||||||
|
#[structopt(long = "stop-words", parse(from_os_str))]
|
||||||
|
pub stop_words: PathBuf,
|
||||||
|
|
||||||
|
/// Meta file name (e.g. relaxed-colden).
|
||||||
|
#[structopt(parse(from_os_str))]
|
||||||
|
pub meta_name: PathBuf,
|
||||||
|
}
|
||||||
|
|
||||||
pub struct ConsoleSearch {
|
pub struct ConsoleSearch {
|
||||||
common_words: CommonWords,
|
common_words: CommonWords,
|
||||||
@ -17,17 +27,18 @@ pub struct ConsoleSearch {
|
|||||||
|
|
||||||
impl ConsoleSearch {
|
impl ConsoleSearch {
|
||||||
pub fn from_command(command: CommandConsole) -> io::Result<ConsoleSearch> {
|
pub fn from_command(command: CommandConsole) -> io::Result<ConsoleSearch> {
|
||||||
let common_words = common_words::from_file(command.stop_words)?;
|
let common_words = CommonWords::from_file(command.stop_words)?;
|
||||||
|
|
||||||
|
let map_file = command.meta_name.with_extension("map");
|
||||||
|
let idx_file = command.meta_name.with_extension("idx");
|
||||||
|
let sst_file = command.meta_name.with_extension("sst");
|
||||||
|
|
||||||
let meta_name = command.meta_name.display();
|
|
||||||
let map_file = format!("{}.map", meta_name);
|
|
||||||
let idx_file = format!("{}.idx", meta_name);
|
|
||||||
let sst_file = format!("{}.sst", meta_name);
|
|
||||||
let metadata = unsafe { Metadata::from_paths(map_file, idx_file).unwrap() };
|
let metadata = unsafe { Metadata::from_paths(map_file, idx_file).unwrap() };
|
||||||
|
|
||||||
let rocksdb = "rocksdb/storage";
|
let rocksdb = "rocksdb/storage";
|
||||||
let db = DB::open_default(rocksdb).unwrap();
|
let db = DB::open_default(rocksdb).unwrap();
|
||||||
db.ingest_external_file(&IngestExternalFileOptions::new(), &[&sst_file]).unwrap();
|
let sst_file = sst_file.to_str().unwrap();
|
||||||
|
db.ingest_external_file(&IngestExternalFileOptions::new(), &[sst_file]).unwrap();
|
||||||
drop(db);
|
drop(db);
|
||||||
let db = DB::open_for_read_only(DBOptions::default(), rocksdb, false).unwrap();
|
let db = DB::open_for_read_only(DBOptions::default(), rocksdb, false).unwrap();
|
||||||
|
|
||||||
@ -60,13 +71,20 @@ fn search(metadata: &Metadata, database: &DB, common_words: &CommonWords, query:
|
|||||||
|
|
||||||
let mut stream = RankedStream::new(&metadata, automatons, 20);
|
let mut stream = RankedStream::new(&metadata, automatons, 20);
|
||||||
while let Some(document) = stream.next() {
|
while let Some(document) = stream.next() {
|
||||||
print!("{:?}", document.document_id);
|
let id_key = format!("{}-id", document.document_id);
|
||||||
|
let id = database.get(id_key.as_bytes()).unwrap().unwrap();
|
||||||
|
let id = unsafe { from_utf8_unchecked(&id) };
|
||||||
|
print!("{} ", id);
|
||||||
|
|
||||||
let title_key = format!("{}-title", document.document_id);
|
let title_key = format!("{}-title", document.document_id);
|
||||||
let title = database.get(title_key.as_bytes()).unwrap().unwrap();
|
let title = database.get(title_key.as_bytes()).unwrap().unwrap();
|
||||||
let title = unsafe { from_utf8_unchecked(&title) };
|
let title = unsafe { from_utf8_unchecked(&title) };
|
||||||
print!(" {:?}", title);
|
println!("{:?}", title);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
println!();
|
fn main() {
|
||||||
}
|
let command = CommandConsole::from_args();
|
||||||
|
let console = ConsoleSearch::from_command(command).unwrap();
|
||||||
|
console.serve()
|
||||||
}
|
}
|
@ -1,17 +1,34 @@
|
|||||||
|
#[macro_use] extern crate serde_derive;
|
||||||
|
|
||||||
use std::str::from_utf8_unchecked;
|
use std::str::from_utf8_unchecked;
|
||||||
use std::io::{self, Write};
|
use std::io::{self, Write};
|
||||||
use std::net::SocketAddr;
|
use std::net::SocketAddr;
|
||||||
|
use std::path::PathBuf;
|
||||||
use std::error::Error;
|
use std::error::Error;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
|
||||||
use rocksdb::{DB, DBOptions, IngestExternalFileOptions};
|
|
||||||
use raptor::{automaton, Metadata};
|
|
||||||
use raptor::rank::RankedStream;
|
use raptor::rank::RankedStream;
|
||||||
|
use raptor::{automaton, Metadata, CommonWords};
|
||||||
|
use rocksdb::{DB, DBOptions, IngestExternalFileOptions};
|
||||||
use fst::Streamer;
|
use fst::Streamer;
|
||||||
use warp::Filter;
|
use warp::Filter;
|
||||||
|
|
||||||
use crate::serve::http_feature::CommandHttp;
|
use structopt::StructOpt;
|
||||||
use crate::common_words::{self, CommonWords};
|
|
||||||
|
#[derive(Debug, StructOpt)]
|
||||||
|
pub struct CommandHttp {
|
||||||
|
/// The address and port to bind the server to.
|
||||||
|
#[structopt(short = "l", default_value = "127.0.0.1:3030")]
|
||||||
|
pub listen_addr: SocketAddr,
|
||||||
|
|
||||||
|
/// The stop word file, each word must be separated by a newline.
|
||||||
|
#[structopt(long = "stop-words", parse(from_os_str))]
|
||||||
|
pub stop_words: PathBuf,
|
||||||
|
|
||||||
|
/// Meta file name (e.g. relaxed-colden).
|
||||||
|
#[structopt(parse(from_os_str))]
|
||||||
|
pub meta_name: PathBuf,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug, Serialize)]
|
#[derive(Debug, Serialize)]
|
||||||
struct Document<'a> {
|
struct Document<'a> {
|
||||||
@ -33,16 +50,16 @@ pub struct HttpServer {
|
|||||||
|
|
||||||
impl HttpServer {
|
impl HttpServer {
|
||||||
pub fn from_command(command: CommandHttp) -> io::Result<HttpServer> {
|
pub fn from_command(command: CommandHttp) -> io::Result<HttpServer> {
|
||||||
let common_words = common_words::from_file(command.stop_words)?;
|
let common_words = CommonWords::from_file(command.stop_words)?;
|
||||||
|
|
||||||
let meta_name = command.meta_name.display();
|
let map_file = command.meta_name.with_extension("map");
|
||||||
let map_file = format!("{}.map", meta_name);
|
let idx_file = command.meta_name.with_extension("idx");
|
||||||
let idx_file = format!("{}.idx", meta_name);
|
let sst_file = command.meta_name.with_extension("sst");
|
||||||
let sst_file = format!("{}.sst", meta_name);
|
|
||||||
let metadata = unsafe { Metadata::from_paths(map_file, idx_file).unwrap() };
|
let metadata = unsafe { Metadata::from_paths(map_file, idx_file).unwrap() };
|
||||||
|
|
||||||
let rocksdb = "rocksdb/storage";
|
let rocksdb = "rocksdb/storage";
|
||||||
let db = DB::open_default(rocksdb).unwrap();
|
let db = DB::open_default(rocksdb).unwrap();
|
||||||
|
let sst_file = sst_file.to_str().unwrap();
|
||||||
db.ingest_external_file(&IngestExternalFileOptions::new(), &[&sst_file]).unwrap();
|
db.ingest_external_file(&IngestExternalFileOptions::new(), &[&sst_file]).unwrap();
|
||||||
drop(db);
|
drop(db);
|
||||||
let db = DB::open_for_read_only(DBOptions::default(), rocksdb, false).unwrap();
|
let db = DB::open_for_read_only(DBOptions::default(), rocksdb, false).unwrap();
|
||||||
@ -118,3 +135,9 @@ where M: AsRef<Metadata>,
|
|||||||
|
|
||||||
Ok(String::from_utf8(body)?)
|
Ok(String::from_utf8(body)?)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let command = CommandHttp::from_args();
|
||||||
|
let server = HttpServer::from_command(command).unwrap();
|
||||||
|
server.serve();
|
||||||
|
}
|
689
fr.stopwords.txt
Normal file
689
fr.stopwords.txt
Normal file
@ -0,0 +1,689 @@
|
|||||||
|
a
|
||||||
|
abord
|
||||||
|
absolument
|
||||||
|
afin
|
||||||
|
ah
|
||||||
|
ai
|
||||||
|
aie
|
||||||
|
aient
|
||||||
|
aies
|
||||||
|
ailleurs
|
||||||
|
ainsi
|
||||||
|
ait
|
||||||
|
allaient
|
||||||
|
allo
|
||||||
|
allons
|
||||||
|
allô
|
||||||
|
alors
|
||||||
|
anterieur
|
||||||
|
anterieure
|
||||||
|
anterieures
|
||||||
|
apres
|
||||||
|
après
|
||||||
|
as
|
||||||
|
assez
|
||||||
|
attendu
|
||||||
|
au
|
||||||
|
aucun
|
||||||
|
aucune
|
||||||
|
aucuns
|
||||||
|
aujourd
|
||||||
|
aujourd'hui
|
||||||
|
aupres
|
||||||
|
auquel
|
||||||
|
aura
|
||||||
|
aurai
|
||||||
|
auraient
|
||||||
|
aurais
|
||||||
|
aurait
|
||||||
|
auras
|
||||||
|
aurez
|
||||||
|
auriez
|
||||||
|
aurions
|
||||||
|
aurons
|
||||||
|
auront
|
||||||
|
aussi
|
||||||
|
autre
|
||||||
|
autrefois
|
||||||
|
autrement
|
||||||
|
autres
|
||||||
|
autrui
|
||||||
|
aux
|
||||||
|
auxquelles
|
||||||
|
auxquels
|
||||||
|
avaient
|
||||||
|
avais
|
||||||
|
avait
|
||||||
|
avant
|
||||||
|
avec
|
||||||
|
avez
|
||||||
|
aviez
|
||||||
|
avions
|
||||||
|
avoir
|
||||||
|
avons
|
||||||
|
ayant
|
||||||
|
ayez
|
||||||
|
ayons
|
||||||
|
b
|
||||||
|
bah
|
||||||
|
bas
|
||||||
|
basee
|
||||||
|
bat
|
||||||
|
beau
|
||||||
|
beaucoup
|
||||||
|
bien
|
||||||
|
bigre
|
||||||
|
bon
|
||||||
|
boum
|
||||||
|
bravo
|
||||||
|
brrr
|
||||||
|
c
|
||||||
|
car
|
||||||
|
ce
|
||||||
|
ceci
|
||||||
|
cela
|
||||||
|
celle
|
||||||
|
celle-ci
|
||||||
|
celle-là
|
||||||
|
celles
|
||||||
|
celles-ci
|
||||||
|
celles-là
|
||||||
|
celui
|
||||||
|
celui-ci
|
||||||
|
celui-là
|
||||||
|
celà
|
||||||
|
cent
|
||||||
|
cependant
|
||||||
|
certain
|
||||||
|
certaine
|
||||||
|
certaines
|
||||||
|
certains
|
||||||
|
certes
|
||||||
|
ces
|
||||||
|
cet
|
||||||
|
cette
|
||||||
|
ceux
|
||||||
|
ceux-ci
|
||||||
|
ceux-là
|
||||||
|
chacun
|
||||||
|
chacune
|
||||||
|
chaque
|
||||||
|
cher
|
||||||
|
chers
|
||||||
|
chez
|
||||||
|
chiche
|
||||||
|
chut
|
||||||
|
chère
|
||||||
|
chères
|
||||||
|
ci
|
||||||
|
cinq
|
||||||
|
cinquantaine
|
||||||
|
cinquante
|
||||||
|
cinquantième
|
||||||
|
cinquième
|
||||||
|
clac
|
||||||
|
clic
|
||||||
|
combien
|
||||||
|
comme
|
||||||
|
comment
|
||||||
|
comparable
|
||||||
|
comparables
|
||||||
|
compris
|
||||||
|
concernant
|
||||||
|
contre
|
||||||
|
couic
|
||||||
|
crac
|
||||||
|
d
|
||||||
|
da
|
||||||
|
dans
|
||||||
|
de
|
||||||
|
debout
|
||||||
|
dedans
|
||||||
|
dehors
|
||||||
|
deja
|
||||||
|
delà
|
||||||
|
depuis
|
||||||
|
dernier
|
||||||
|
derniere
|
||||||
|
derriere
|
||||||
|
derrière
|
||||||
|
des
|
||||||
|
desormais
|
||||||
|
desquelles
|
||||||
|
desquels
|
||||||
|
dessous
|
||||||
|
dessus
|
||||||
|
deux
|
||||||
|
deuxième
|
||||||
|
deuxièmement
|
||||||
|
devant
|
||||||
|
devers
|
||||||
|
devra
|
||||||
|
devrait
|
||||||
|
different
|
||||||
|
differentes
|
||||||
|
differents
|
||||||
|
différent
|
||||||
|
différente
|
||||||
|
différentes
|
||||||
|
différents
|
||||||
|
dire
|
||||||
|
directe
|
||||||
|
directement
|
||||||
|
dit
|
||||||
|
dite
|
||||||
|
dits
|
||||||
|
divers
|
||||||
|
diverse
|
||||||
|
diverses
|
||||||
|
dix
|
||||||
|
dix-huit
|
||||||
|
dix-neuf
|
||||||
|
dix-sept
|
||||||
|
dixième
|
||||||
|
doit
|
||||||
|
doivent
|
||||||
|
donc
|
||||||
|
dont
|
||||||
|
dos
|
||||||
|
douze
|
||||||
|
douzième
|
||||||
|
dring
|
||||||
|
droite
|
||||||
|
du
|
||||||
|
duquel
|
||||||
|
durant
|
||||||
|
dès
|
||||||
|
début
|
||||||
|
désormais
|
||||||
|
e
|
||||||
|
effet
|
||||||
|
egale
|
||||||
|
egalement
|
||||||
|
egales
|
||||||
|
eh
|
||||||
|
elle
|
||||||
|
elle-même
|
||||||
|
elles
|
||||||
|
elles-mêmes
|
||||||
|
en
|
||||||
|
encore
|
||||||
|
enfin
|
||||||
|
entre
|
||||||
|
envers
|
||||||
|
environ
|
||||||
|
es
|
||||||
|
essai
|
||||||
|
est
|
||||||
|
et
|
||||||
|
etant
|
||||||
|
etc
|
||||||
|
etre
|
||||||
|
eu
|
||||||
|
eue
|
||||||
|
eues
|
||||||
|
euh
|
||||||
|
eurent
|
||||||
|
eus
|
||||||
|
eusse
|
||||||
|
eussent
|
||||||
|
eusses
|
||||||
|
eussiez
|
||||||
|
eussions
|
||||||
|
eut
|
||||||
|
eux
|
||||||
|
eux-mêmes
|
||||||
|
exactement
|
||||||
|
excepté
|
||||||
|
extenso
|
||||||
|
exterieur
|
||||||
|
eûmes
|
||||||
|
eût
|
||||||
|
eûtes
|
||||||
|
f
|
||||||
|
fais
|
||||||
|
faisaient
|
||||||
|
faisant
|
||||||
|
fait
|
||||||
|
faites
|
||||||
|
façon
|
||||||
|
feront
|
||||||
|
fi
|
||||||
|
flac
|
||||||
|
floc
|
||||||
|
fois
|
||||||
|
font
|
||||||
|
force
|
||||||
|
furent
|
||||||
|
fus
|
||||||
|
fusse
|
||||||
|
fussent
|
||||||
|
fusses
|
||||||
|
fussiez
|
||||||
|
fussions
|
||||||
|
fut
|
||||||
|
fûmes
|
||||||
|
fût
|
||||||
|
fûtes
|
||||||
|
g
|
||||||
|
gens
|
||||||
|
h
|
||||||
|
ha
|
||||||
|
haut
|
||||||
|
hein
|
||||||
|
hem
|
||||||
|
hep
|
||||||
|
hi
|
||||||
|
ho
|
||||||
|
holà
|
||||||
|
hop
|
||||||
|
hormis
|
||||||
|
hors
|
||||||
|
hou
|
||||||
|
houp
|
||||||
|
hue
|
||||||
|
hui
|
||||||
|
huit
|
||||||
|
huitième
|
||||||
|
hum
|
||||||
|
hurrah
|
||||||
|
hé
|
||||||
|
hélas
|
||||||
|
i
|
||||||
|
ici
|
||||||
|
il
|
||||||
|
ils
|
||||||
|
importe
|
||||||
|
j
|
||||||
|
je
|
||||||
|
jusqu
|
||||||
|
jusque
|
||||||
|
juste
|
||||||
|
k
|
||||||
|
l
|
||||||
|
la
|
||||||
|
laisser
|
||||||
|
laquelle
|
||||||
|
las
|
||||||
|
le
|
||||||
|
lequel
|
||||||
|
les
|
||||||
|
lesquelles
|
||||||
|
lesquels
|
||||||
|
leur
|
||||||
|
leurs
|
||||||
|
longtemps
|
||||||
|
lors
|
||||||
|
lorsque
|
||||||
|
lui
|
||||||
|
lui-meme
|
||||||
|
lui-même
|
||||||
|
là
|
||||||
|
lès
|
||||||
|
m
|
||||||
|
ma
|
||||||
|
maint
|
||||||
|
maintenant
|
||||||
|
mais
|
||||||
|
malgre
|
||||||
|
malgré
|
||||||
|
maximale
|
||||||
|
me
|
||||||
|
meme
|
||||||
|
memes
|
||||||
|
merci
|
||||||
|
mes
|
||||||
|
mien
|
||||||
|
mienne
|
||||||
|
miennes
|
||||||
|
miens
|
||||||
|
mille
|
||||||
|
mince
|
||||||
|
mine
|
||||||
|
minimale
|
||||||
|
moi
|
||||||
|
moi-meme
|
||||||
|
moi-même
|
||||||
|
moindres
|
||||||
|
moins
|
||||||
|
mon
|
||||||
|
mot
|
||||||
|
moyennant
|
||||||
|
multiple
|
||||||
|
multiples
|
||||||
|
même
|
||||||
|
mêmes
|
||||||
|
n
|
||||||
|
na
|
||||||
|
naturel
|
||||||
|
naturelle
|
||||||
|
naturelles
|
||||||
|
ne
|
||||||
|
neanmoins
|
||||||
|
necessaire
|
||||||
|
necessairement
|
||||||
|
neuf
|
||||||
|
neuvième
|
||||||
|
ni
|
||||||
|
nombreuses
|
||||||
|
nombreux
|
||||||
|
nommés
|
||||||
|
non
|
||||||
|
nos
|
||||||
|
notamment
|
||||||
|
notre
|
||||||
|
nous
|
||||||
|
nous-mêmes
|
||||||
|
nouveau
|
||||||
|
nouveaux
|
||||||
|
nul
|
||||||
|
néanmoins
|
||||||
|
nôtre
|
||||||
|
nôtres
|
||||||
|
o
|
||||||
|
oh
|
||||||
|
ohé
|
||||||
|
ollé
|
||||||
|
olé
|
||||||
|
on
|
||||||
|
ont
|
||||||
|
onze
|
||||||
|
onzième
|
||||||
|
ore
|
||||||
|
ou
|
||||||
|
ouf
|
||||||
|
ouias
|
||||||
|
oust
|
||||||
|
ouste
|
||||||
|
outre
|
||||||
|
ouvert
|
||||||
|
ouverte
|
||||||
|
ouverts
|
||||||
|
o|
|
||||||
|
où
|
||||||
|
p
|
||||||
|
paf
|
||||||
|
pan
|
||||||
|
par
|
||||||
|
parce
|
||||||
|
parfois
|
||||||
|
parle
|
||||||
|
parlent
|
||||||
|
parler
|
||||||
|
parmi
|
||||||
|
parole
|
||||||
|
parseme
|
||||||
|
partant
|
||||||
|
particulier
|
||||||
|
particulière
|
||||||
|
particulièrement
|
||||||
|
pas
|
||||||
|
passé
|
||||||
|
pendant
|
||||||
|
pense
|
||||||
|
permet
|
||||||
|
personne
|
||||||
|
personnes
|
||||||
|
peu
|
||||||
|
peut
|
||||||
|
peuvent
|
||||||
|
peux
|
||||||
|
pff
|
||||||
|
pfft
|
||||||
|
pfut
|
||||||
|
pif
|
||||||
|
pire
|
||||||
|
pièce
|
||||||
|
plein
|
||||||
|
plouf
|
||||||
|
plupart
|
||||||
|
plus
|
||||||
|
plusieurs
|
||||||
|
plutôt
|
||||||
|
possessif
|
||||||
|
possessifs
|
||||||
|
possible
|
||||||
|
possibles
|
||||||
|
pouah
|
||||||
|
pour
|
||||||
|
pourquoi
|
||||||
|
pourrais
|
||||||
|
pourrait
|
||||||
|
pouvait
|
||||||
|
prealable
|
||||||
|
precisement
|
||||||
|
premier
|
||||||
|
première
|
||||||
|
premièrement
|
||||||
|
pres
|
||||||
|
probable
|
||||||
|
probante
|
||||||
|
procedant
|
||||||
|
proche
|
||||||
|
près
|
||||||
|
psitt
|
||||||
|
pu
|
||||||
|
puis
|
||||||
|
puisque
|
||||||
|
pur
|
||||||
|
pure
|
||||||
|
q
|
||||||
|
qu
|
||||||
|
quand
|
||||||
|
quant
|
||||||
|
quant-à-soi
|
||||||
|
quanta
|
||||||
|
quarante
|
||||||
|
quatorze
|
||||||
|
quatre
|
||||||
|
quatre-vingt
|
||||||
|
quatrième
|
||||||
|
quatrièmement
|
||||||
|
que
|
||||||
|
quel
|
||||||
|
quelconque
|
||||||
|
quelle
|
||||||
|
quelles
|
||||||
|
quelqu'un
|
||||||
|
quelque
|
||||||
|
quelques
|
||||||
|
quels
|
||||||
|
qui
|
||||||
|
quiconque
|
||||||
|
quinze
|
||||||
|
quoi
|
||||||
|
quoique
|
||||||
|
r
|
||||||
|
rare
|
||||||
|
rarement
|
||||||
|
rares
|
||||||
|
relative
|
||||||
|
relativement
|
||||||
|
remarquable
|
||||||
|
rend
|
||||||
|
rendre
|
||||||
|
restant
|
||||||
|
reste
|
||||||
|
restent
|
||||||
|
restrictif
|
||||||
|
retour
|
||||||
|
revoici
|
||||||
|
revoilà
|
||||||
|
rien
|
||||||
|
s
|
||||||
|
sa
|
||||||
|
sacrebleu
|
||||||
|
sait
|
||||||
|
sans
|
||||||
|
sapristi
|
||||||
|
sauf
|
||||||
|
se
|
||||||
|
sein
|
||||||
|
seize
|
||||||
|
selon
|
||||||
|
semblable
|
||||||
|
semblaient
|
||||||
|
semble
|
||||||
|
semblent
|
||||||
|
sent
|
||||||
|
sept
|
||||||
|
septième
|
||||||
|
sera
|
||||||
|
serai
|
||||||
|
seraient
|
||||||
|
serais
|
||||||
|
serait
|
||||||
|
seras
|
||||||
|
serez
|
||||||
|
seriez
|
||||||
|
serions
|
||||||
|
serons
|
||||||
|
seront
|
||||||
|
ses
|
||||||
|
seul
|
||||||
|
seule
|
||||||
|
seulement
|
||||||
|
si
|
||||||
|
sien
|
||||||
|
sienne
|
||||||
|
siennes
|
||||||
|
siens
|
||||||
|
sinon
|
||||||
|
six
|
||||||
|
sixième
|
||||||
|
soi
|
||||||
|
soi-même
|
||||||
|
soient
|
||||||
|
sois
|
||||||
|
soit
|
||||||
|
soixante
|
||||||
|
sommes
|
||||||
|
son
|
||||||
|
sont
|
||||||
|
sous
|
||||||
|
souvent
|
||||||
|
soyez
|
||||||
|
soyons
|
||||||
|
specifique
|
||||||
|
specifiques
|
||||||
|
speculatif
|
||||||
|
stop
|
||||||
|
strictement
|
||||||
|
subtiles
|
||||||
|
suffisant
|
||||||
|
suffisante
|
||||||
|
suffit
|
||||||
|
suis
|
||||||
|
suit
|
||||||
|
suivant
|
||||||
|
suivante
|
||||||
|
suivantes
|
||||||
|
suivants
|
||||||
|
suivre
|
||||||
|
sujet
|
||||||
|
superpose
|
||||||
|
sur
|
||||||
|
surtout
|
||||||
|
t
|
||||||
|
ta
|
||||||
|
tac
|
||||||
|
tandis
|
||||||
|
tant
|
||||||
|
tardive
|
||||||
|
te
|
||||||
|
tel
|
||||||
|
telle
|
||||||
|
tellement
|
||||||
|
telles
|
||||||
|
tels
|
||||||
|
tenant
|
||||||
|
tend
|
||||||
|
tenir
|
||||||
|
tente
|
||||||
|
tes
|
||||||
|
tic
|
||||||
|
tien
|
||||||
|
tienne
|
||||||
|
tiennes
|
||||||
|
tiens
|
||||||
|
toc
|
||||||
|
toi
|
||||||
|
toi-même
|
||||||
|
ton
|
||||||
|
touchant
|
||||||
|
toujours
|
||||||
|
tous
|
||||||
|
tout
|
||||||
|
toute
|
||||||
|
toutefois
|
||||||
|
toutes
|
||||||
|
treize
|
||||||
|
trente
|
||||||
|
tres
|
||||||
|
trois
|
||||||
|
troisième
|
||||||
|
troisièmement
|
||||||
|
trop
|
||||||
|
très
|
||||||
|
tsoin
|
||||||
|
tsouin
|
||||||
|
tu
|
||||||
|
té
|
||||||
|
u
|
||||||
|
un
|
||||||
|
une
|
||||||
|
unes
|
||||||
|
uniformement
|
||||||
|
unique
|
||||||
|
uniques
|
||||||
|
uns
|
||||||
|
v
|
||||||
|
va
|
||||||
|
vais
|
||||||
|
valeur
|
||||||
|
vas
|
||||||
|
vers
|
||||||
|
via
|
||||||
|
vif
|
||||||
|
vifs
|
||||||
|
vingt
|
||||||
|
vivat
|
||||||
|
vive
|
||||||
|
vives
|
||||||
|
vlan
|
||||||
|
voici
|
||||||
|
voie
|
||||||
|
voient
|
||||||
|
voilà
|
||||||
|
vont
|
||||||
|
vos
|
||||||
|
votre
|
||||||
|
vous
|
||||||
|
vous-mêmes
|
||||||
|
vu
|
||||||
|
vé
|
||||||
|
vôtre
|
||||||
|
vôtres
|
||||||
|
w
|
||||||
|
x
|
||||||
|
y
|
||||||
|
z
|
||||||
|
zut
|
||||||
|
à
|
||||||
|
â
|
||||||
|
ça
|
||||||
|
ès
|
||||||
|
étaient
|
||||||
|
étais
|
||||||
|
était
|
||||||
|
étant
|
||||||
|
état
|
||||||
|
étiez
|
||||||
|
étions
|
||||||
|
été
|
||||||
|
étée
|
||||||
|
étées
|
||||||
|
étés
|
||||||
|
êtes
|
||||||
|
être
|
||||||
|
ô
|
122
misc/kaggle.csv
Normal file
122
misc/kaggle.csv
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
id,title,description,image
|
||||||
|
711158459,Sony PlayStation 4 (PS4) (Latest Model)- 500 GB Jet Black Console,"The PlayStation 4 system opens the door to an incredible journey through immersive new gaming worlds and a deeply connected gaming community. Step into living, breathing worlds where you are hero of your epic journey. Explore gritty urban environments, vast galactic landscapes, and fantastic historical settings brought to life on an epic scale, without limits. With an astounding launch lineup and over 180 games in development the PS4 system offers more top-tier blockbusters and inventive indie hits than any other next-gen console. The PS4 system is developer inspired, gamer focused. The PS4 system learns how you play and intuitively curates the content you use most often. Fire it up, and your PS4 system points the way to new, amazing experiences you can jump into alone or with friends. Create your own legend using a sophisticated, intuitive network built for gamers. Broadcast your gameplay live and direct to the world, complete with your commentary. Or immortalize your most epic moments and share at the press of a button. Access the best in music, movies, sports and television. PS4 system doesn t require a membership fee to access your digital entertainment subscriptions. You get the full spectrum of entertainment that matters to you on the PS4 system. PlayStation 4: The Best Place to Play The PlayStation 4 system provides dynamic, connected gaming, powerful graphics and speed, intelligent personalization, deeply integrated social capabilities, and innovative second-screen features. Combining unparalleled content, immersive gaming experiences, all of your favorite digital entertainment apps, and PlayStation exclusives, the PS4 system focuses on the gamers.Gamer Focused, Developer InspiredThe PS4 system focuses on the gamer, ensuring that the very best games and the most immersive experiences are possible on the platform.<br>Read more about the PS4 on ebay guides.</br>",http://thumbs2.ebaystatic.com/d/l225/m/mzvzEUIknaQclZ801YCY1ew.jpg
|
||||||
|
711158460,Sony PlayStation 4 (Latest Model)- 500 GB Jet Black Console,"The PlayStation 4 system opens the door to an incredible journey through immersive new gaming worlds and a deeply connected gaming community. Step into living, breathing worlds where you are hero of your epic journey. Explore gritty urban environments, vast galactic landscapes, and fantastic historical settings brought to life on an epic scale, without limits. With an astounding launch lineup and over 180 games in development the PS4 system offers more top-tier blockbusters and inventive indie hits than any other next-gen console. The PS4 system is developer inspired, gamer focused. The PS4 system learns how you play and intuitively curates the content you use most often. Fire it up, and your PS4 system points the way to new, amazing experiences you can jump into alone or with friends. Create your own legend using a sophisticated, intuitive network built for gamers. Broadcast your gameplay live and direct to the world, complete with your commentary. Or immortalize your most epic moments and share at the press of a button. Access the best in music, movies, sports and television. PS4 system doesn t require a membership fee to access your digital entertainment subscriptions. You get the full spectrum of entertainment that matters to you on the PS4 system. PlayStation 4: The Best Place to Play The PlayStation 4 system provides dynamic, connected gaming, powerful graphics and speed, intelligent personalization, deeply integrated social capabilities, and innovative second-screen features. Combining unparalleled content, immersive gaming experiences, all of your favorite digital entertainment apps, and PlayStation exclusives, the PS4 system focuses on the gamers.Gamer Focused, Developer InspiredThe PS4 system focuses on the gamer, ensuring that the very best games and the most immersive experiences are possible on the platform.<br>Read more about the PS4 on ebay guides.</br>",http://thumbs3.ebaystatic.com/d/l225/m/mJNDmSyIS3vUasKIJEBy4Cw.jpg
|
||||||
|
711158461,Sony PlayStation 4 PS4 500 GB Jet Black Console,"The PlayStation 4 system opens the door to an incredible journey through immersive new gaming worlds and a deeply connected gaming community. Step into living, breathing worlds where you are hero of your epic journey. Explore gritty urban environments, vast galactic landscapes, and fantastic historical settings brought to life on an epic scale, without limits. With an astounding launch lineup and over 180 games in development the PS4 system offers more top-tier blockbusters and inventive indie hits than any other next-gen console. The PS4 system is developer inspired, gamer focused. The PS4 system learns how you play and intuitively curates the content you use most often. Fire it up, and your PS4 system points the way to new, amazing experiences you can jump into alone or with friends. Create your own legend using a sophisticated, intuitive network built for gamers. Broadcast your gameplay live and direct to the world, complete with your commentary. Or immortalize your most epic moments and share at the press of a button. Access the best in music, movies, sports and television. PS4 system doesn t require a membership fee to access your digital entertainment subscriptions. You get the full spectrum of entertainment that matters to you on the PS4 system. PlayStation 4: The Best Place to Play The PlayStation 4 system provides dynamic, connected gaming, powerful graphics and speed, intelligent personalization, deeply integrated social capabilities, and innovative second-screen features. Combining unparalleled content, immersive gaming experiences, all of your favorite digital entertainment apps, and PlayStation exclusives, the PS4 system focuses on the gamers.Gamer Focused, Developer InspiredThe PS4 system focuses on the gamer, ensuring that the very best games and the most immersive experiences are possible on the platform.<br>Read more about the PS4 on ebay guides.</br>",http://thumbs4.ebaystatic.com/d/l225/m/m10NZXArmiIkpkTDDkAUVvA.jpg
|
||||||
|
711158462,Sony - PlayStation 4 500GB The Last of Us Remastered Bundle - Black,,http://thumbs2.ebaystatic.com/d/l225/m/mZZXTmAE8WZDH1l_E_PPAkg.jpg
|
||||||
|
711158463,Sony PlayStation 4 (PS4) (Latest Model)- 500 GB Jet Black Console,"The PlayStation 4 system opens the door to an incredible journey through immersive new gaming worlds and a deeply connected gaming community. Step into living, breathing worlds where you are hero of your epic journey. Explore gritty urban environments, vast galactic landscapes, and fantastic historical settings brought to life on an epic scale, without limits. With an astounding launch lineup and over 180 games in development the PS4 system offers more top-tier blockbusters and inventive indie hits than any other next-gen console. The PS4 system is developer inspired, gamer focused. The PS4 system learns how you play and intuitively curates the content you use most often. Fire it up, and your PS4 system points the way to new, amazing experiences you can jump into alone or with friends. Create your own legend using a sophisticated, intuitive network built for gamers. Broadcast your gameplay live and direct to the world, complete with your commentary. Or immortalize your most epic moments and share at the press of a button. Access the best in music, movies, sports and television. PS4 system doesn t require a membership fee to access your digital entertainment subscriptions. You get the full spectrum of entertainment that matters to you on the PS4 system. PlayStation 4: The Best Place to Play The PlayStation 4 system provides dynamic, connected gaming, powerful graphics and speed, intelligent personalization, deeply integrated social capabilities, and innovative second-screen features. Combining unparalleled content, immersive gaming experiences, all of your favorite digital entertainment apps, and PlayStation exclusives, the PS4 system focuses on the gamers.Gamer Focused, Developer InspiredThe PS4 system focuses on the gamer, ensuring that the very best games and the most immersive experiences are possible on the platform.<br>Read more about the PS4 on ebay guides.</br>",http://thumbs3.ebaystatic.com/d/l225/m/mzvzEUIknaQclZ801YCY1ew.jpg
|
||||||
|
711158464,Sony PlayStation 4 (PS4) (Latest Model)- 500 GB Jet Black Console,"The PlayStation 4 system opens the door to an incredible journey through immersive new gaming worlds and a deeply connected gaming community. Step into living, breathing worlds where you are hero of your epic journey. Explore gritty urban environments, vast galactic landscapes, and fantastic historical settings brought to life on an epic scale, without limits. With an astounding launch lineup and over 180 games in development the PS4 system offers more top-tier blockbusters and inventive indie hits than any other next-gen console. The PS4 system is developer inspired, gamer focused. The PS4 system learns how you play and intuitively curates the content you use most often. Fire it up, and your PS4 system points the way to new, amazing experiences you can jump into alone or with friends. Create your own legend using a sophisticated, intuitive network built for gamers. Broadcast your gameplay live and direct to the world, complete with your commentary. Or immortalize your most epic moments and share at the press of a button. Access the best in music, movies, sports and television. PS4 system doesn t require a membership fee to access your digital entertainment subscriptions. You get the full spectrum of entertainment that matters to you on the PS4 system. PlayStation 4: The Best Place to Play The PlayStation 4 system provides dynamic, connected gaming, powerful graphics and speed, intelligent personalization, deeply integrated social capabilities, and innovative second-screen features. Combining unparalleled content, immersive gaming experiences, all of your favorite digital entertainment apps, and PlayStation exclusives, the PS4 system focuses on the gamers.Gamer Focused, Developer InspiredThe PS4 system focuses on the gamer, ensuring that the very best games and the most immersive experiences are possible on the platform.<br>Read more about the PS4 on ebay guides.</br>",http://thumbs4.ebaystatic.com/d/l225/m/mzvzEUIknaQclZ801YCY1ew.jpg
|
||||||
|
711158465,BRAND NEW Sony PlayStation 4 BUNDLE 500gb,,http://thumbs4.ebaystatic.com/d/l225/m/m9TQTiWcWig7SeQh9algLZg.jpg
|
||||||
|
711158466,"Sony PlayStation 4 500GB, Dualshock Wireless Control, HDMI Gaming Console Refurb","The PlayStation 4 system opens the door to an incredible journey through immersive new gaming worlds and a deeply connected gaming community. Step into living, breathing worlds where you are hero of your epic journey. Explore gritty urban environments, vast galactic landscapes, and fantastic historical settings brought to life on an epic scale, without limits. With an astounding launch lineup and over 180 games in development the PS4 system offers more top-tier blockbusters and inventive indie hits than any other next-gen console. The PS4 system is developer inspired, gamer focused. The PS4 system learns how you play and intuitively curates the content you use most often. Fire it up, and your PS4 system points the way to new, amazing experiences you can jump into alone or with friends. Create your own legend using a sophisticated, intuitive network built for gamers. Broadcast your gameplay live and direct to the world, complete with your commentary. Or immortalize your most epic moments and share at the press of a button. Access the best in music, movies, sports and television. PS4 system doesn t require a membership fee to access your digital entertainment subscriptions. You get the full spectrum of entertainment that matters to you on the PS4 system. PlayStation 4: The Best Place to Play The PlayStation 4 system provides dynamic, connected gaming, powerful graphics and speed, intelligent personalization, deeply integrated social capabilities, and innovative second-screen features. Combining unparalleled content, immersive gaming experiences, all of your favorite digital entertainment apps, and PlayStation exclusives, the PS4 system focuses on the gamers.Gamer Focused, Developer InspiredThe PS4 system focuses on the gamer, ensuring that the very best games and the most immersive experiences are possible on the platform.<br>Read more about the PS4 on ebay guides.</br>",http://thumbs4.ebaystatic.com/d/l225/m/mTZYG5N6xWfBi4Ok03HmpMw.jpg
|
||||||
|
711158467,Sony PlayStation 4 (Latest Model)- 500 GB Jet Black Console w/ 2 Controllers,,http://thumbs2.ebaystatic.com/d/l225/m/mX5Qphrygqeoi7tAH5eku2A.jpg
|
||||||
|
711158468,Sony PlayStation 4 (Latest Model)- 500 GB Jet Black Console *NEW*,"The PlayStation 4 system opens the door to an incredible journey through immersive new gaming worlds and a deeply connected gaming community. Step into living, breathing worlds where you are hero of your epic journey. Explore gritty urban environments, vast galactic landscapes, and fantastic historical settings brought to life on an epic scale, without limits. With an astounding launch lineup and over 180 games in development the PS4 system offers more top-tier blockbusters and inventive indie hits than any other next-gen console. The PS4 system is developer inspired, gamer focused. The PS4 system learns how you play and intuitively curates the content you use most often. Fire it up, and your PS4 system points the way to new, amazing experiences you can jump into alone or with friends. Create your own legend using a sophisticated, intuitive network built for gamers. Broadcast your gameplay live and direct to the world, complete with your commentary. Or immortalize your most epic moments and share at the press of a button. Access the best in music, movies, sports and television. PS4 system doesn t require a membership fee to access your digital entertainment subscriptions. You get the full spectrum of entertainment that matters to you on the PS4 system. PlayStation 4: The Best Place to Play The PlayStation 4 system provides dynamic, connected gaming, powerful graphics and speed, intelligent personalization, deeply integrated social capabilities, and innovative second-screen features. Combining unparalleled content, immersive gaming experiences, all of your favorite digital entertainment apps, and PlayStation exclusives, the PS4 system focuses on the gamers.Gamer Focused, Developer InspiredThe PS4 system focuses on the gamer, ensuring that the very best games and the most immersive experiences are possible on the platform.<br>Read more about the PS4 on ebay guides.</br>",http://thumbs2.ebaystatic.com/d/l225/m/mGjN4IrJ0O8kKD_TYMWgGgQ.jpg
|
||||||
|
711158469,Sony PlayStation 4 (Latest Model)- 500 GB Jet Black Console..wth Mortal Kombat X,,http://thumbs2.ebaystatic.com/d/l225/m/mrpqSNXwlnUVKnEscE4348w.jpg
|
||||||
|
711158470,Genuine SONY PS4 Playstation 4 500GB Gaming Console - Black,,http://thumbs4.ebaystatic.com/d/l225/m/myrPBFCpb4H5rHI8NyiS2zA.jpg
|
||||||
|
711158471,[Sony] Playstation 4 PS4 Video Game Console Black - Latest Model,,http://thumbs4.ebaystatic.com/d/l225/m/mce0c7mCuv3xpjllJXx093w.jpg
|
||||||
|
711158472,Sony PlayStation 4 (Latest Model) 500 GB Jet Black Console,"The PlayStation 4 system opens the door to an incredible journey through immersive new gaming worlds and a deeply connected gaming community. Step into living, breathing worlds where you are hero of your epic journey. Explore gritty urban environments, vast galactic landscapes, and fantastic historical settings brought to life on an epic scale, without limits. With an astounding launch lineup and over 180 games in development the PS4 system offers more top-tier blockbusters and inventive indie hits than any other next-gen console. The PS4 system is developer inspired, gamer focused. The PS4 system learns how you play and intuitively curates the content you use most often. Fire it up, and your PS4 system points the way to new, amazing experiences you can jump into alone or with friends. Create your own legend using a sophisticated, intuitive network built for gamers. Broadcast your gameplay live and direct to the world, complete with your commentary. Or immortalize your most epic moments and share at the press of a button. Access the best in music, movies, sports and television. PS4 system doesn t require a membership fee to access your digital entertainment subscriptions. You get the full spectrum of entertainment that matters to you on the PS4 system. PlayStation 4: The Best Place to Play The PlayStation 4 system provides dynamic, connected gaming, powerful graphics and speed, intelligent personalization, deeply integrated social capabilities, and innovative second-screen features. Combining unparalleled content, immersive gaming experiences, all of your favorite digital entertainment apps, and PlayStation exclusives, the PS4 system focuses on the gamers.Gamer Focused, Developer InspiredThe PS4 system focuses on the gamer, ensuring that the very best games and the most immersive experiences are possible on the platform.<br>Read more about the PS4 on ebay guides.</br>",http://thumbs2.ebaystatic.com/d/l225/m/miVSA1xPO5fCNdYzEMc8rSQ.jpg
|
||||||
|
711158473,Sony PlayStation 4 - 500 GB Jet Black Console - WITH LAST OF US REMASTERED,,http://thumbs2.ebaystatic.com/d/l225/m/mLjnOxv2GWkrkCtgsDGhJ6A.jpg
|
||||||
|
711158474,Sony PlayStation 4 (Latest Model)- 500 GB Jet Black Console,,http://thumbs3.ebaystatic.com/d/l225/m/mjMittBaXmm_n4AMpETBXhQ.jpg
|
||||||
|
711158475,Sony PlayStation 4 (Latest Model)- 500 GB Jet Black Console,,http://thumbs2.ebaystatic.com/d/l225/m/m1n1qrJ7-VGbe7xQvGdeD6Q.jpg
|
||||||
|
711158476,"Sony PlayStation 4 - 500 GB Jet Black Console (3 controllers,3 games included)",,http://thumbs3.ebaystatic.com/d/l225/m/mIoGIj9FZG7HoEVkPlnyizA.jpg
|
||||||
|
711158477,Sony PlayStation 4 500GB Console with 2 Controllers,"The PlayStation 4 system opens the door to an incredible journey through immersive new gaming worlds and a deeply connected gaming community. Step into living, breathing worlds where you are hero of your epic journey. Explore gritty urban environments, vast galactic landscapes, and fantastic historical settings brought to life on an epic scale, without limits. With an astounding launch lineup and over 180 games in development the PS4 system offers more top-tier blockbusters and inventive indie hits than any other next-gen console. The PS4 system is developer inspired, gamer focused. The PS4 system learns how you play and intuitively curates the content you use most often. Fire it up, and your PS4 system points the way to new, amazing experiences you can jump into alone or with friends. Create your own legend using a sophisticated, intuitive network built for gamers. Broadcast your gameplay live and direct to the world, complete with your commentary. Or immortalize your most epic moments and share at the press of a button. Access the best in music, movies, sports and television. PS4 system doesn t require a membership fee to access your digital entertainment subscriptions. You get the full spectrum of entertainment that matters to you on the PS4 system. PlayStation 4: The Best Place to Play The PlayStation 4 system provides dynamic, connected gaming, powerful graphics and speed, intelligent personalization, deeply integrated social capabilities, and innovative second-screen features. Combining unparalleled content, immersive gaming experiences, all of your favorite digital entertainment apps, and PlayStation exclusives, the PS4 system focuses on the gamers.Gamer Focused, Developer InspiredThe PS4 system focuses on the gamer, ensuring that the very best games and the most immersive experiences are possible on the platform.<br>Read more about the PS4 on ebay guides.</br>",http://thumbs2.ebaystatic.com/d/l225/m/m4fuJ5Ibrj450-TZ83FAkIQ.jpg
|
||||||
|
711158478,Sony - PlayStation 4 500GB The Last of Us Remastered Bundle - Black,,http://thumbs3.ebaystatic.com/d/l225/m/mzXSIw8Hlnff8IjXJQrXJSw.jpg
|
||||||
|
711158479,Sony PlayStation 4 (Latest Model)- 500 GB Jet Black Console,,http://thumbs2.ebaystatic.com/d/l225/m/m-9S63CgFoUijY3ZTyNs3KA.jpg
|
||||||
|
711158480,Sony PlayStation 4 (Latest Model)- 500 GB Jet Black Console,,http://thumbs1.ebaystatic.com/d/l225/m/mdF9Bisg9wXjv_R9Y_13MWw.jpg
|
||||||
|
711158481,Sony PlayStation 4 (Latest Model)- 500 GB Jet Black Console*,,http://thumbs1.ebaystatic.com/d/l225/m/m4_OQHMmIOCa8uEkBepRR5A.jpg
|
||||||
|
711158482,Sony PlayStation 4 (Latest Model)- 500 GB Jet Black Console,,http://thumbs2.ebaystatic.com/d/l225/m/mZ0nR8iz-QAfLssJZMp3L5Q.jpg
|
||||||
|
711158483,[Sony] Playstation 4 PS4 1105A Video Game Console 500GB White - Latest Model,,http://thumbs4.ebaystatic.com/d/l225/m/m8iTz5cLQLNjD9D3O2jT3IQ.jpg
|
||||||
|
711158484,NEW! Clinique Repairwear Laser Focus Wrinkle Correcting Eye Cream 5ml,,http://thumbs2.ebaystatic.com/d/l225/m/mrraWCpvP5YKk5rYgotVDLg.jpg
|
||||||
|
711158485,Obagi Elastiderm Eye Treatment Cream 0.5 oz / 15g Authentic NiB Sealed [5],,http://thumbs1.ebaystatic.com/d/l225/m/mJ4ekz6_bDT5G7wYtjM-qRg.jpg
|
||||||
|
711158486,Lancome Renergie Eye Anti-Wrinkle & Firming Eye Cream 0.5oz New,,http://thumbs2.ebaystatic.com/d/l225/m/mxwwyDQraZ-TEtr_Y6qRi7Q.jpg
|
||||||
|
711158487,OZ Naturals - The BEST Eye Gel - Eye Cream For Dark Circles Puffiness and,,http://thumbs2.ebaystatic.com/d/l225/m/mk2Z-hX5sT4kUxfG6g_KFpg.jpg
|
||||||
|
711158488,Elastiderm Eye Cream (0.5oz/15g),,http://thumbs3.ebaystatic.com/d/l225/m/mHxb5WUc5MtGzCT2UXgY_hg.jpg
|
||||||
|
711158489,new CLINIQUE Repairwear Laser Focus Wrinkle Correcting Eye Cream 0.17 oz/ 5 ml,,http://thumbs1.ebaystatic.com/d/l225/m/mQSX2wfrSeGy3uA8Q4SbOKw.jpg
|
||||||
|
711158490,NIB Full Size Dermalogica Multivitamin Power Firm Eye Cream,,http://thumbs4.ebaystatic.com/d/l225/m/m2hxo12e5NjXgGiKIaCvTLA.jpg
|
||||||
|
711158491,24K Gold Collagen Anti-Dark Circles Anti-Aging Bio Essence Repairing Eye Cream,,http://thumbs4.ebaystatic.com/d/l225/m/mt96efUK5cPAe60B9aGmgMA.jpg
|
||||||
|
711158492,Clinique Repairwear Laser Focus Wrinkle Correcting Eye Cream Full Size .5oz 15mL,,http://thumbs3.ebaystatic.com/d/l225/m/mZyV3wKejCMx9RrnC8X-eMw.jpg
|
||||||
|
711158493,NEW! Clinique Repairwear Laser Focus Wrinkle Correcting Eye Cream 5ml,,http://thumbs4.ebaystatic.com/d/l225/m/m9hX_z_DFnbNCTh0VFv3KcQ.jpg
|
||||||
|
711158494,3 Clinique Repairwear Laser Focus Wrinkle Correcting Eye Cream .17 oz/5 ml Each,,http://thumbs1.ebaystatic.com/d/l225/m/mYiHsrGffCg_qgkTbUWZU1A.jpg
|
||||||
|
711158495,Lancome High Resolution Eye Cream .95 Oz Refill-3X .25 Oz Plus .20 Oz Lot,,http://thumbs1.ebaystatic.com/d/l225/m/mFuQxKoEKQ6wtk2bGxfKwow.jpg
|
||||||
|
711158496,NEW! Clinique Repairwear Laser Focus Wrinkle Correcting Eye Cream 5ml,,http://thumbs4.ebaystatic.com/d/l225/m/mLBRCDiELUnYos-vFmIcc7A.jpg
|
||||||
|
711158497,Neutrogena Rapid Wrinkle Repair Eye Cream -0.5 Oz. -New-,,http://thumbs4.ebaystatic.com/d/l225/m/mE1RWpCOxkCGuuiJBX6HiBQ.jpg
|
||||||
|
711158498,20g Snail Repair Eye Cream Natural Anti-Dark Circles Puffiness Aging Wrinkles,,http://thumbs4.ebaystatic.com/d/l225/m/mh4gBNzINDwds_r778sJRjg.jpg
|
||||||
|
711158499,Vichy-Neovadiol GF Eye & Lip Contour Cream 0.5 Fl. Oz,,http://thumbs4.ebaystatic.com/d/l225/m/m_6f0ofCm7PTzuithYuZx3w.jpg
|
||||||
|
711158500,Obagi Elastiderm Eye Cream 0.5 oz. New In Box. 100% Authentic! New Packaging!,,http://thumbs2.ebaystatic.com/d/l225/m/ma0PK-ASBXUiHERR19MyImA.jpg
|
||||||
|
711158501,NEW! Clinique Repairwear Laser Focus Wrinkle Correcting Eye Cream .17oz / 5ml,,http://thumbs3.ebaystatic.com/d/l225/m/m72NaXYlcXcEeqQFKWvsdZA.jpg
|
||||||
|
711158502,Kiehl's CREAMY EYE TREATMENT cream with AVOCADO 0.5 oz FULL SIZE,,http://thumbs3.ebaystatic.com/d/l225/m/mOI407HnILb_tf-RgdvfYyA.jpg
|
||||||
|
711158503,Clinique repairwear laser focus wrinkle correcting eye cream .5 oz 15ml,,http://thumbs4.ebaystatic.com/d/l225/m/mQwNVst3bYG6QXouubmLaJg.jpg
|
||||||
|
711158504,Caudalie Premier Cru The Eye Cream La Creme New Anti Aging Eye Treatment,,http://thumbs1.ebaystatic.com/d/l225/m/mM4hPTAWXeOjovNk9s_Cqag.jpg
|
||||||
|
711158505,Jeunesse Instantly Ageless -- New Box Of 50 Sachets -- Eye - Face Wrinkle Cream,,http://thumbs2.ebaystatic.com/d/l225/m/m5EfWbi6ZYs4JpYcsl0Ubaw.jpg
|
||||||
|
711158506,VELOUR SKIN EYE CREAM .5 FL OZ 15ML NEW NIP ANTI-AGING WRINKLE CREAM,,http://thumbs1.ebaystatic.com/d/l225/m/m2uEf6q1yASH8FkWqYdOv1w.jpg
|
||||||
|
711158507,Shiseido White Lucent Anti-Dark Circles/Puffiness Eye Cream 15ml/.53oz Full Size,,http://thumbs1.ebaystatic.com/d/l225/m/m_CtzoqU2Vgv4GKx8ONS6qw.jpg
|
||||||
|
711158508,Murad Resurgence Renewing Eye Cream Anti-Aging .25 oz NEW Dark Circles Wrinkle,,http://thumbs1.ebaystatic.com/d/l225/m/mhWJC10iowgUDGm4KMQKNMg.jpg
|
||||||
|
711158509,D-Link DIR-615 300Mbps Wireless-N Router 4-Port w/Firewall,,http://thumbs3.ebaystatic.com/d/l225/m/mdSBH9ROXRn3TBb8OFDT6jA.jpg
|
||||||
|
711158510,Triton MOF001 2 1/4hp dual mode precision Router. New!! *3 day auction*,,http://thumbs1.ebaystatic.com/d/l225/m/mozWd2SBskbDBlWAKsMlVew.jpg
|
||||||
|
711158511,Porter-Cable 3-1/4 HP Five-Speed Router 7518 - Power Tools Routers,,http://thumbs2.ebaystatic.com/d/l225/m/mpZDTXpiyesDrZh_FLMyqXQ.jpg
|
||||||
|
711158512,Linksys EA6900 AC1900 Wi-Fi Wireless Router Dual Band with Gigabit &USB 3.0 Port,,http://thumbs4.ebaystatic.com/d/l225/m/m3OfBSnHBDhhs_Ve-DSBKQw.jpg
|
||||||
|
711158513,Linksys EA6500 1300 Mbps 4-Port Gigabit Wireless AC Router,,http://thumbs1.ebaystatic.com/d/l225/m/m7cfymJPc7CLADoTiEYFzwA.jpg
|
||||||
|
711158514,Makita RT0700CX3 1-1/4 Horsepower Compact Router Kit / Trimmer NEW,,http://thumbs2.ebaystatic.com/d/l225/m/mr-F3rCxDYsLcj8hnmaRN4A.jpg
|
||||||
|
711158515,NETGEAR R6250 AC1600 Smart WiFi Dual Band Gigabit Router 802.11ac 300 1300 Mbps,,http://thumbs4.ebaystatic.com/d/l225/m/mc8Ic8Cq2lPqPnjNGAQBBCQ.jpg
|
||||||
|
711158516,NETGEAR Nighthawk AC1900 Dual Band Wi-Fi Gigabit Router (R7000) BRAND NEW SEALED,,http://thumbs3.ebaystatic.com/d/l225/m/mdL34EQi0l-Kg-DlvF6wpqA.jpg
|
||||||
|
711158517,Netgear WNDR3400 N600 Wireless Dual Band Router (WNDR3400-100),,http://thumbs4.ebaystatic.com/d/l225/m/mKr4cNk6utJXSdVYXzwrScQ.jpg
|
||||||
|
711158518,Netgear N600 300 Mbps 4-Port 10/100 Wireless N Router (WNDR3400),,http://thumbs2.ebaystatic.com/d/l225/m/mUPdyhbW9pzEm1VbqX0YudA.jpg
|
||||||
|
711158519,NETGEAR N600 WNDR3400 Wireless Dual Band Router F/S,,http://thumbs1.ebaystatic.com/d/l225/m/my55jF5kHnG9ipzFycnjooA.jpg
|
||||||
|
711158520,Netgear NIGHTHAWK AC1900 1300 Mbps 4-Port Gigabit Wireless AC Router (R7000),,http://thumbs3.ebaystatic.com/d/l225/m/mrPLRTnWx_JXLNIp5pCBnzQ.jpg
|
||||||
|
711158521,Netgear N900 450 Mbps 4-Port Gigabit Wireless N Router (WNDR4500),,http://thumbs2.ebaystatic.com/d/l225/m/mXBL01faHlHm7Ukh188t3yQ.jpg
|
||||||
|
711158522,Netgear R6300V2 AC1750 1300 Mbps 4-Port Gigabit Wireless AC Router,,http://thumbs1.ebaystatic.com/d/l225/m/mTdnFB9Z71efYJ9I5-k186w.jpg
|
||||||
|
711158523,Makita RT0701C 1-1/4 HP Compact Router With FACTORY WARRANTY!!!,,http://thumbs2.ebaystatic.com/d/l225/m/m7AA4k3MzYFJcTlBrT3DwhA.jpg
|
||||||
|
711158524,"CISCO LINKSYS EA4500 DUAL-BAND N9000 WIRELESS ROUTER, 802.11N, UP TO 450 MBPs",,http://thumbs4.ebaystatic.com/d/l225/m/mwfVIXD3dZYt_qpHyprd7hg.jpg
|
||||||
|
711158525,Netgear N300 v.3 300 Mbps 5-Port 10/100 Wireless N Router (WNR2000),,http://thumbs4.ebaystatic.com/d/l225/m/mopRjvnZwbsVH9euqGov5kw.jpg
|
||||||
|
711158526,Netgear Nighthawk R7000 2330 Mbps 4-Port Gigabit Wireless N Router...,,http://thumbs4.ebaystatic.com/d/l225/m/mns82UY4FfqYXPgqrpJ9Bzw.jpg
|
||||||
|
711158527,Netgear N900 450 Mbps 4-Port Gigabit Wireless N Router R4500 ~ FreE ShiPPinG ~,,http://thumbs1.ebaystatic.com/d/l225/m/m_o0mSRmySgJUuqHYDIQiuA.jpg
|
||||||
|
711158528,D-Link Wireless Router Model DIR-625,,http://thumbs2.ebaystatic.com/d/l225/m/mYPXwZMlDUjOQ3Sm3EtU37Q.jpg
|
||||||
|
711158529,D-Link DIR-657 300 Mbps 4-Port Gigabit Wireless N Router Hd Media Router 1000,"Stream multiple media content - videos, music and more to multiple devices all at the same time without lag or skipping. The HD Fuel technology in the DIR-657 lets you watch Netflix and Vudu , play your Wii or Xbox 360 online or make Skype calls all without worrying about the skipping or latency you might experience with standard routers. It does so by automatically giving extra bandwidth for video, gaming and VoIP calls using HD Fuel QoS technology. The D-Link HD Media Router 1000(DIR-657) also comes equipped with 4 Gigabit ports to provide speeds up to 10x faster than standard 10/100 ports. What s more, it uses 802.11n technology with multiple intelligent antennas to maximize the speed and range of your wireless signal to significantly outperform 802.11g devices.",http://thumbs1.ebaystatic.com/d/l225/m/m0xyPdWrdVKe7By4QFouVeA.jpg
|
||||||
|
711158530,D-Link DIR-860L AC1200 4-Port Cloud Router Gigabit Wireless 802.11 AC,,http://thumbs3.ebaystatic.com/d/l225/m/mk4KNj6oLm7863qCS-TqmbQ.jpg
|
||||||
|
711158531,D-Link DIR-862L Wireless AC1600 Dual Band Gigabit Router,,http://thumbs2.ebaystatic.com/d/l225/m/m6Arw8kaZ4EUbyKjHtJZLkA.jpg
|
||||||
|
711158532,LINKSYS AC1600 DUAL BAND SMART WI-FI ROUTER EA6400 BRAND NEW,,http://thumbs3.ebaystatic.com/d/l225/m/mdK7igTS7_TDD7ajfVqj-_w.jpg
|
||||||
|
711158533,Netgear AC1900 1300 Mbps 4-Port Gigabit Wireless AC Router (R7000),,http://thumbs4.ebaystatic.com/d/l225/m/mdL34EQi0l-Kg-DlvF6wpqA.jpg
|
||||||
|
711158534,Panasonic ES-LA63 Cordless Rechargeable Men's Electric Shaver,,http://thumbs3.ebaystatic.com/d/l225/m/mzKKlCxbADObevcgoNjbXRg.jpg
|
||||||
|
711158535,Panasonic ARC 5 Best Mens Shaver,,http://thumbs4.ebaystatic.com/d/l225/m/mt34Y-u0okj-SqQm8Ng_rbQ.jpg
|
||||||
|
711158536,Panasonic Es8092 Wet Dry Electric Razor Shaver Cordless,,http://thumbs3.ebaystatic.com/d/l225/m/mlIxTz1LsVjXiZz2CzDquJw.jpg
|
||||||
|
711158537,Panasonic ARC4 ES-RF31-s Rechargeable Electric Shaver Wet/dry 4 Nanotech Blade,"Made for folks who need a great shave, the Panasonic electric shaver is convenient and consistent. Featuring an ergonomic design, this Panasonic ES-RF31-S is ideal for keeping a stubble-free face, so you can retain wonderfully smooth skin. With the precision blades included on the Panasonic electric shaver, you can get smooth shaves with every use. As this men's electric shaver features a gentle shaving mechanism, you can help avoid burning sensations on tender skin. Make sure you consistently get multiple perfect shaves without depleting the power with the exceptional shave time typical of this Panasonic ES-RF31-S.",http://thumbs1.ebaystatic.com/d/l225/m/mi4QM99Jq4oma5WLAL0K7Wg.jpg
|
||||||
|
711158538,"Panasonic ES3831K Single Blade Travel Shaver, Black New","Strong and trustworthy, the Panasonic electric shaver is built for folks who are worried about a wonderful shave every day. This Panasonic ES3833S is just right for taming your beard, with an easy-to-maneuver design, so you can retain wonderfully soft skin. Spend as much time as you need getting a complete shave by making use of the outstanding shave time typical of the Panasonic electric shaver. Moreover, this men's electric shaver includes precision foil blades, so you can get wonderful shaves over a prolonged period. With the gentle shaving mechanism on this Panasonic ES3833S, you can help avoid burning sensations on tender skin.",http://thumbs3.ebaystatic.com/d/l225/m/mfqMoj4xDlBFXp1ZznxCGbQ.jpg
|
||||||
|
711158539,Panasonic ES8103S Arc3 Electric Shaver Wet/Dry with Nanotech Blades for Men,,http://thumbs1.ebaystatic.com/d/l225/m/myaZLqzt3I7O-3xXxsJ_4fQ.jpg
|
||||||
|
711158540,Panasonic ES8103S Arc3 Electric Shaver Wet/Dry with Nanotech Blades,,http://thumbs1.ebaystatic.com/d/l225/m/mcrO4BkjBkM78XHm-aClRGg.jpg
|
||||||
|
711158543,Panasonic ES3831K Single Blade Wet & Dry Travel Shaver - New & Sealed,,http://thumbs4.ebaystatic.com/d/l225/m/mqWDU2mHsFWAuGosMIGcIMg.jpg
|
||||||
|
711158544,Panasonic ES8103S Arc 3 E W/O POUCH & MANUAL Men's Wet/Dry Rechargeable Shaver,,http://thumbs2.ebaystatic.com/d/l225/m/mZXgTj-fQfcgAlzOGQYkqFw.jpg
|
||||||
|
711158545,PANASONIC ES3831K Pro-Curve Battery Operated Travel Wet/Dry Shaver,,http://thumbs1.ebaystatic.com/d/l225/m/m8McQMCfgdp50trM_YJ88cw.jpg
|
||||||
|
711158546,PANASONIC ARC3 ES-LT33-S WET DRY WASHABLE RECHARGEABLE MEN'S ELECTRIC SHAVER NIB,,http://thumbs1.ebaystatic.com/d/l225/m/m9yUif5xyhGfh7Ag-_fcLdA.jpg
|
||||||
|
711158547,Panasonic ES-LV81-k Arc 5 Wet & Dry Rechargeable Men's Foil Shaver New,,http://thumbs1.ebaystatic.com/d/l225/m/mEfZHzDoKrH4DBfU8e_K93A.jpg
|
||||||
|
711158548,"NEW Panasonic ES-RF31-S 4 Blade Men's Electric Razor Wet/Dry, Factory Sealed",,http://thumbs2.ebaystatic.com/d/l225/m/mfhMhMoDkrGtqWW_IyqVGuQ.jpg
|
||||||
|
711158549,Panasonic ES8243A E Arc4 Men's Electric Shaver Wet/Dry,"eBay item number:181670746515
|
||||||
|
|
||||||
|
|
||||||
|
Seller assumes all responsibility for this listing.
|
||||||
|
|
||||||
|
Last updated on
|
||||||
|
Mar 23, 2015 08:55:50 PDT
|
||||||
|
View all revisions
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<strong>Item specifics</strong>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>Condition:</th>
|
||||||
|
<td><strong>Used</strong>
|
||||||
|
<strong>:</strong>
|
||||||
|
|
||||||
|
|
||||||
|
</td></tr></table>",http://thumbs4.ebaystatic.com/d/l225/m/mcxFUwt3FrGEEPzT7cfQn7w.jpg
|
||||||
|
711158550,Panasonic ES-3833 Wet/Dry Men Shaver Razor Battery Operate Compact Travel ES3833,,http://thumbs2.ebaystatic.com/d/l225/m/mAqa9pHisKsLSk5nqMg4JJQ.jpg
|
||||||
|
711158551,Panasonic Pro-Curve ES3831K Shaver - Dry/Wet Technology - Stainless Steel Foil,,http://thumbs3.ebaystatic.com/d/l225/m/mGqD8eGIwseT5nsM53W3uRQ.jpg
|
||||||
|
711158552,Panasonic Wet and Dry Shaver - ES-RW30s ES-RW30-S,"The Panasonic electric shaver is well-suited to shielding particularly sensitive skin and providing a smooth shave. It's both trustworthy and transportable. Because this Panasonic ES-RW30-S has a gentle shaving mechanism, you can avoid irritation and raw feeling skin in particularly tender areas. The Panasonic electric shaver is ideal for ridding yourself of stubble, with its special design, so you can sustain wonderfully supple skin. The exceptional shave time featured on this men's electric shaver helps you to make sure you consistently receive many complete shaves without depleting the power. Plus, this Panasonic ES-RW30-S features precision blades, so you can enjoy smooth shaves for months on end.",http://thumbs1.ebaystatic.com/d/l225/m/mvPElpjXmgo0NhP-P5F8LlQ.jpg
|
||||||
|
711158553,Panasonic ES-LF51-A Arc4 Electric Shaver Wet/Dry with Flexible Pivoting Head,,http://thumbs3.ebaystatic.com/d/l225/m/mC_zAQrMQKPLHdENU7N3UjQ.jpg
|
||||||
|
711158554,Panasonic ES8103S Arc3 Men's Electric Shaver Wet/Dry with Nanotech Blades,,http://thumbs3.ebaystatic.com/d/l225/m/moBByNwPn93-g-oBBceS2kw.jpg
|
||||||
|
711158555,panasonic ARC3 shaver es8103s,,http://thumbs1.ebaystatic.com/d/l225/m/mJlAp6t6OMIOaYgKnyelIMg.jpg
|
||||||
|
711158556,Panasonic ES-534 Men's Electric Shaver New ES534 Battery Operated Compact Travel,,http://thumbs3.ebaystatic.com/d/l225/m/mDr2kpZLVSdy1KTPVYK2YUg.jpg
|
||||||
|
711158557,Panasonic Portable Shaving Machine Cclippers Washable Single Blade Shaver+Brush,,http://thumbs3.ebaystatic.com/d/l225/m/mJdzJPoOALps0Lv4WtW2b0A.jpg
|
||||||
|
711158559,Baratza Solis Maestro Conical Burr Coffee Bean Grinder Works Great Nice Cond,,http://thumbs4.ebaystatic.com/d/l225/m/mdjbD7YFR6JRq-pkeajhK7w.jpg
|
||||||
|
711158560,Proctor Silex Fresh Grind Electric Coffee Bean Grinder White,,http://thumbs4.ebaystatic.com/d/l225/m/mtXoRn5Ytmqz0GLHYmBUxpA.jpg
|
||||||
|
711158561,Cuisinart 8-oz. Supreme Grind Automatic Burr Coffee Grinder,,http://thumbs4.ebaystatic.com/d/l225/m/my_9cXPvwwRVFqo6MXWfpag.jpg
|
|
0
no.stopwords.txt
Normal file
0
no.stopwords.txt
Normal file
@ -1,26 +0,0 @@
|
|||||||
[package]
|
|
||||||
edition = "2018"
|
|
||||||
name = "raptor"
|
|
||||||
version = "0.1.0"
|
|
||||||
authors = ["Kerollmops <renault.cle@gmail.com>"]
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
byteorder = "1.2"
|
|
||||||
fnv = "1.0"
|
|
||||||
sdset = "0.2"
|
|
||||||
lazy_static = "1.1"
|
|
||||||
|
|
||||||
[dependencies.fst]
|
|
||||||
git = "https://github.com/Kerollmops/fst.git"
|
|
||||||
branch = "automaton-for-deref"
|
|
||||||
|
|
||||||
[dependencies.levenshtein_automata]
|
|
||||||
git = "https://github.com/Kerollmops/levenshtein-automata.git"
|
|
||||||
branch = "new-custom-fst"
|
|
||||||
features = ["fst_automaton"]
|
|
||||||
|
|
||||||
[dependencies.rocksdb]
|
|
||||||
git = "https://github.com/pingcap/rust-rocksdb.git"
|
|
||||||
|
|
||||||
[dependencies.group-by]
|
|
||||||
git = "https://github.com/Kerollmops/group-by.git"
|
|
@ -3,18 +3,24 @@ use std::collections::HashSet;
|
|||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
use std::fs::File;
|
use std::fs::File;
|
||||||
|
|
||||||
pub type CommonWords = HashSet<String>;
|
#[derive(Debug)]
|
||||||
|
pub struct CommonWords(HashSet<String>);
|
||||||
|
|
||||||
pub fn from_file<P>(path: P) -> io::Result<CommonWords>
|
impl CommonWords {
|
||||||
where P: AsRef<Path>,
|
pub fn from_file<P>(path: P) -> io::Result<Self>
|
||||||
|
where P: AsRef<Path>
|
||||||
{
|
{
|
||||||
let file = File::open(path)?;
|
let file = File::open(path)?;
|
||||||
let file = BufReader::new(file);
|
let file = BufReader::new(file);
|
||||||
let mut set = HashSet::new();
|
let mut set = HashSet::new();
|
||||||
for line in file.lines().filter_map(|l| l.ok()) {
|
for line in file.lines().filter_map(|l| l.ok()) {
|
||||||
for word in line.split_whitespace() {
|
let word = line.trim().to_owned();
|
||||||
set.insert(word.to_owned());
|
set.insert(word);
|
||||||
|
}
|
||||||
|
Ok(CommonWords(set))
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn contains(&self, word: &str) -> bool {
|
||||||
|
self.0.contains(word)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Ok(set)
|
|
||||||
}
|
|
||||||
|
@ -1,112 +0,0 @@
|
|||||||
use std::collections::BTreeMap;
|
|
||||||
use std::path::PathBuf;
|
|
||||||
use std::fs::File;
|
|
||||||
use std::io::{self, BufReader, BufRead};
|
|
||||||
|
|
||||||
use serde_json::from_str;
|
|
||||||
use rocksdb::{SstFileWriter, EnvOptions, ColumnFamilyOptions};
|
|
||||||
use raptor::{MetadataBuilder, DocIndex, Tokenizer};
|
|
||||||
use unidecode::unidecode;
|
|
||||||
|
|
||||||
use crate::common_words::{self, CommonWords};
|
|
||||||
use crate::index::jsonlines_feature::CommandJsonLines;
|
|
||||||
|
|
||||||
#[derive(Debug, Deserialize)]
|
|
||||||
struct Product {
|
|
||||||
title: String,
|
|
||||||
group_id: u64,
|
|
||||||
ft: String,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Debug)]
|
|
||||||
pub struct JsonLinesIndexer {
|
|
||||||
common_words: CommonWords,
|
|
||||||
products: PathBuf,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl JsonLinesIndexer {
|
|
||||||
pub fn from_command(command: CommandJsonLines) -> io::Result<JsonLinesIndexer> {
|
|
||||||
let common_words = common_words::from_file(command.stop_words)?;
|
|
||||||
let products = command.products;
|
|
||||||
|
|
||||||
Ok(JsonLinesIndexer { common_words, products })
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn index(self) {
|
|
||||||
let data = File::open(&self.products).unwrap();
|
|
||||||
let data = BufReader::new(data);
|
|
||||||
|
|
||||||
// TODO add a subcommand to pack these files in a tar.xxx archive
|
|
||||||
let random_name = moby_name_gen::random_name();
|
|
||||||
let map_file = format!("{}.map", random_name);
|
|
||||||
let idx_file = format!("{}.idx", random_name);
|
|
||||||
let sst_file = format!("{}.sst", random_name);
|
|
||||||
|
|
||||||
let env_options = EnvOptions::new();
|
|
||||||
let cf_options = ColumnFamilyOptions::new();
|
|
||||||
let mut sst_file_writer = SstFileWriter::new(env_options, cf_options);
|
|
||||||
sst_file_writer.open(&sst_file).expect("open the sst file");
|
|
||||||
|
|
||||||
let map = File::create(&map_file).unwrap();
|
|
||||||
let indexes = File::create(&idx_file).unwrap();
|
|
||||||
let mut builder = MetadataBuilder::new(map, indexes);
|
|
||||||
let mut fields = BTreeMap::new();
|
|
||||||
|
|
||||||
for line in data.lines() {
|
|
||||||
let line = line.unwrap();
|
|
||||||
|
|
||||||
let product: Product = from_str(&line).unwrap();
|
|
||||||
|
|
||||||
let title = Tokenizer::new(&product.title);
|
|
||||||
let title = title.iter().filter(|&(_, w)| !self.common_words.contains(w));
|
|
||||||
insert_document_words(&mut builder, product.group_id, 0, title);
|
|
||||||
|
|
||||||
let description = Tokenizer::new(&product.ft);
|
|
||||||
let description = description.iter().filter(|&(_, w)| !self.common_words.contains(w));
|
|
||||||
insert_document_words(&mut builder, product.group_id, 1, description);
|
|
||||||
|
|
||||||
// TODO simplify this by using functions and
|
|
||||||
// use the MetadataBuilder internal BTreeMap ?
|
|
||||||
let key = format!("{}-title", product.group_id);
|
|
||||||
let value = product.title;
|
|
||||||
fields.insert(key, value);
|
|
||||||
|
|
||||||
let key = format!("{}-description", product.group_id);
|
|
||||||
let value = product.ft;
|
|
||||||
fields.insert(key, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (key, value) in fields {
|
|
||||||
sst_file_writer.put(key.as_bytes(), value.as_bytes()).unwrap();
|
|
||||||
}
|
|
||||||
let _sst_file_info = sst_file_writer.finish().unwrap();
|
|
||||||
|
|
||||||
builder.finish().unwrap();
|
|
||||||
|
|
||||||
println!("Succesfully created {:?} dump.", random_name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fn insert_document_words<'a, I, A, B>(builder: &mut MetadataBuilder<A, B>, doc_index: u64, attr: u8, words: I)
|
|
||||||
where A: io::Write,
|
|
||||||
B: io::Write,
|
|
||||||
I: IntoIterator<Item=(usize, &'a str)>,
|
|
||||||
{
|
|
||||||
for (index, word) in words {
|
|
||||||
let doc_index = DocIndex {
|
|
||||||
document: doc_index,
|
|
||||||
attribute: attr,
|
|
||||||
attribute_index: index as u32,
|
|
||||||
};
|
|
||||||
// insert the exact representation
|
|
||||||
let word_lower = word.to_lowercase();
|
|
||||||
|
|
||||||
// and the unidecoded lowercased version
|
|
||||||
let word_unidecoded = unidecode(word).to_lowercase();
|
|
||||||
if word_lower != word_unidecoded {
|
|
||||||
builder.insert(word_unidecoded, doc_index);
|
|
||||||
}
|
|
||||||
|
|
||||||
builder.insert(word_lower, doc_index);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,71 +0,0 @@
|
|||||||
#[cfg(feature = "index-csv")]
|
|
||||||
mod csv;
|
|
||||||
|
|
||||||
#[cfg(feature = "index-jsonlines")]
|
|
||||||
mod json_lines;
|
|
||||||
|
|
||||||
use structopt::StructOpt;
|
|
||||||
|
|
||||||
#[derive(Debug, StructOpt)]
|
|
||||||
pub enum CommandIndex {
|
|
||||||
|
|
||||||
#[cfg(feature = "index-jsonlines")]
|
|
||||||
/// Index files encoded as json lines.
|
|
||||||
#[structopt(name = "json-lines")]
|
|
||||||
JsonLines(self::jsonlines_feature::CommandJsonLines),
|
|
||||||
|
|
||||||
#[cfg(feature = "index-csv")]
|
|
||||||
/// Index files encoded as csv.
|
|
||||||
#[structopt(name = "csv")]
|
|
||||||
Csv(self::csv_feature::CommandCsv),
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(feature = "index-jsonlines")]
|
|
||||||
pub mod jsonlines_feature {
|
|
||||||
use std::error;
|
|
||||||
use std::path::PathBuf;
|
|
||||||
use structopt::StructOpt;
|
|
||||||
|
|
||||||
#[derive(Debug, StructOpt)]
|
|
||||||
pub struct CommandJsonLines {
|
|
||||||
/// The stop word file, each word must be separated by a newline.
|
|
||||||
#[structopt(long = "stop-words", parse(from_os_str))]
|
|
||||||
pub stop_words: PathBuf,
|
|
||||||
|
|
||||||
/// The csv file to index.
|
|
||||||
#[structopt(parse(from_os_str))]
|
|
||||||
pub products: PathBuf,
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn json_lines(command: CommandJsonLines) -> Result<(), Box<error::Error>> {
|
|
||||||
use super::json_lines::JsonLinesIndexer;
|
|
||||||
|
|
||||||
let indexer = JsonLinesIndexer::from_command(command)?;
|
|
||||||
Ok(indexer.index())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(feature = "index-csv")]
|
|
||||||
pub mod csv_feature {
|
|
||||||
use std::error;
|
|
||||||
use std::path::PathBuf;
|
|
||||||
use structopt::StructOpt;
|
|
||||||
|
|
||||||
#[derive(Debug, StructOpt)]
|
|
||||||
pub struct CommandCsv {
|
|
||||||
/// The stop word file, each word must be separated by a newline.
|
|
||||||
#[structopt(long = "stop-words", parse(from_os_str))]
|
|
||||||
pub stop_words: PathBuf,
|
|
||||||
|
|
||||||
/// The csv file to index.
|
|
||||||
#[structopt(parse(from_os_str))]
|
|
||||||
pub products: PathBuf,
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn csv(command: CommandCsv) -> Result<(), Box<error::Error>> {
|
|
||||||
use super::csv::CsvIndexer;
|
|
||||||
|
|
||||||
let indexer = CsvIndexer::from_command(command)?;
|
|
||||||
Ok(indexer.index())
|
|
||||||
}
|
|
||||||
}
|
|
@ -5,10 +5,12 @@ pub mod metadata;
|
|||||||
pub mod vec_read_only;
|
pub mod vec_read_only;
|
||||||
pub mod automaton;
|
pub mod automaton;
|
||||||
pub mod tokenizer;
|
pub mod tokenizer;
|
||||||
|
mod common_words;
|
||||||
|
|
||||||
pub use self::metadata::{Metadata, MetadataBuilder};
|
pub use self::metadata::{Metadata, MetadataBuilder};
|
||||||
pub use self::rank::RankedStream;
|
pub use self::rank::RankedStream;
|
||||||
pub use self::tokenizer::Tokenizer;
|
pub use self::tokenizer::Tokenizer;
|
||||||
|
pub use self::common_words::CommonWords;
|
||||||
|
|
||||||
pub type DocumentId = u64;
|
pub type DocumentId = u64;
|
||||||
|
|
50
src/main.rs
50
src/main.rs
@ -1,50 +0,0 @@
|
|||||||
#[macro_use] extern crate serde_derive;
|
|
||||||
|
|
||||||
#[cfg(feature = "index")]
|
|
||||||
mod index;
|
|
||||||
#[cfg(feature = "serve")]
|
|
||||||
mod serve;
|
|
||||||
mod common_words;
|
|
||||||
|
|
||||||
use structopt::StructOpt;
|
|
||||||
|
|
||||||
#[derive(Debug, StructOpt)]
|
|
||||||
#[structopt(name = "raptor-cli", about = "A command line to do raptor operations.")]
|
|
||||||
enum Command {
|
|
||||||
#[cfg(feature = "index")]
|
|
||||||
/// Index files of different format.
|
|
||||||
#[structopt(name = "index")]
|
|
||||||
Index(index::CommandIndex),
|
|
||||||
|
|
||||||
#[cfg(feature = "serve")]
|
|
||||||
/// Serve indexes.
|
|
||||||
#[structopt(name = "serve")]
|
|
||||||
Serve(serve::CommandServe),
|
|
||||||
}
|
|
||||||
|
|
||||||
fn main() {
|
|
||||||
let ret = match Command::from_args() {
|
|
||||||
|
|
||||||
#[cfg(feature = "index")]
|
|
||||||
Command::Index(i) => match i {
|
|
||||||
|
|
||||||
#[cfg(feature = "index-jsonlines")]
|
|
||||||
index::CommandIndex::JsonLines(command) => index::jsonlines_feature::json_lines(command),
|
|
||||||
|
|
||||||
#[cfg(feature = "index-csv")]
|
|
||||||
index::CommandIndex::Csv(command) => index::csv_feature::csv(command),
|
|
||||||
},
|
|
||||||
|
|
||||||
#[cfg(feature = "serve")]
|
|
||||||
Command::Serve(s) => match s {
|
|
||||||
|
|
||||||
#[cfg(feature = "serve-http")]
|
|
||||||
serve::CommandServe::Http(command) => serve::http_feature::http(command),
|
|
||||||
|
|
||||||
#[cfg(feature = "serve-console")]
|
|
||||||
serve::CommandServe::Console(command) => serve::console_feature::console(command),
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
if let Err(e) = ret { eprintln!("{}", e) }
|
|
||||||
}
|
|
@ -1,76 +0,0 @@
|
|||||||
#[cfg(feature = "serve-http")]
|
|
||||||
mod http;
|
|
||||||
|
|
||||||
#[cfg(feature = "serve-console")]
|
|
||||||
mod console;
|
|
||||||
|
|
||||||
use structopt::StructOpt;
|
|
||||||
|
|
||||||
#[derive(Debug, StructOpt)]
|
|
||||||
pub enum CommandServe {
|
|
||||||
|
|
||||||
#[cfg(feature = "serve-http")]
|
|
||||||
/// Serve an index under an http protocol.
|
|
||||||
#[structopt(name = "http")]
|
|
||||||
Http(self::http_feature::CommandHttp),
|
|
||||||
|
|
||||||
#[cfg(feature = "serve-console")]
|
|
||||||
/// Serve an index under a simple console.
|
|
||||||
#[structopt(name = "console")]
|
|
||||||
Console(self::console_feature::CommandConsole),
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(feature = "serve-http")]
|
|
||||||
pub mod http_feature {
|
|
||||||
use std::error;
|
|
||||||
use std::path::PathBuf;
|
|
||||||
use std::net::SocketAddr;
|
|
||||||
use structopt::StructOpt;
|
|
||||||
|
|
||||||
#[derive(Debug, StructOpt)]
|
|
||||||
pub struct CommandHttp {
|
|
||||||
/// The address and port to bind the server to.
|
|
||||||
#[structopt(short = "l", default_value = "127.0.0.1:3030")]
|
|
||||||
pub listen_addr: SocketAddr,
|
|
||||||
|
|
||||||
/// The stop word file, each word must be separated by a newline.
|
|
||||||
#[structopt(long = "stop-words", parse(from_os_str))]
|
|
||||||
pub stop_words: PathBuf,
|
|
||||||
|
|
||||||
/// Meta file name (e.g. relaxed-colden).
|
|
||||||
#[structopt(parse(from_os_str))]
|
|
||||||
pub meta_name: PathBuf,
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn http(command: CommandHttp) -> Result<(), Box<error::Error>> {
|
|
||||||
use super::http::HttpServer;
|
|
||||||
|
|
||||||
let server = HttpServer::from_command(command)?;
|
|
||||||
Ok(server.serve())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(feature = "serve-console")]
|
|
||||||
pub mod console_feature {
|
|
||||||
use std::error;
|
|
||||||
use std::path::PathBuf;
|
|
||||||
use structopt::StructOpt;
|
|
||||||
|
|
||||||
#[derive(Debug, StructOpt)]
|
|
||||||
pub struct CommandConsole {
|
|
||||||
/// The stop word file, each word must be separated by a newline.
|
|
||||||
#[structopt(long = "stop-words", parse(from_os_str))]
|
|
||||||
pub stop_words: PathBuf,
|
|
||||||
|
|
||||||
/// Meta file name (e.g. relaxed-colden).
|
|
||||||
#[structopt(parse(from_os_str))]
|
|
||||||
pub meta_name: PathBuf,
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn console(command: CommandConsole) -> Result<(), Box<error::Error>> {
|
|
||||||
use super::console::ConsoleSearch;
|
|
||||||
|
|
||||||
let search = ConsoleSearch::from_command(command)?;
|
|
||||||
Ok(search.serve())
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user