[package]
edition = "2024"
rust-version = "1.88.0"
name = "sonic-core"
version = "0.1.1"
authors = [
"Valerian Saliou <valerian@valeriansaliou.name>",
"Baptiste Jamin <baptistejamin@gmail.com>",
"Rémi Bardon <remi@remibardon.name>",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Fast, lightweight and schema-less search backend."
homepage = "https://github.com/valeriansaliou/sonic"
readme = "README.md"
keywords = [
"search",
"query",
"server",
"index",
]
categories = [
"database-implementations",
"web-programming",
]
license = "MPL-2.0"
repository = "https://github.com/valeriansaliou/sonic.git"
[features]
benchmark = []
default = [
"stemming",
"tokenizer-chinese",
]
stemming = ["dep:snowball"]
tokenizer-chinese = ["jieba-rs"]
tokenizer-japanese = [
"lindera-core",
"lindera-dictionary",
"lindera-tokenizer",
]
[lib]
name = "sonic"
path = "src/lib.rs"
doc = true
[[test]]
name = "auto_completion"
path = "tests/auto_completion.rs"
[[test]]
name = "back_compat"
path = "tests/back_compat.rs"
[[test]]
name = "data_isolation"
path = "tests/data_isolation.rs"
[[test]]
name = "data_removal"
path = "tests/data_removal.rs"
[[test]]
name = "han_folding"
path = "tests/han_folding.rs"
[[test]]
name = "language_detection"
path = "tests/language_detection.rs"
[[test]]
name = "loose_matching"
path = "tests/loose_matching.rs"
[[test]]
name = "non_regression"
path = "tests/non_regression.rs"
[[test]]
name = "search_scoping"
path = "tests/search_scoping.rs"
[[test]]
name = "search_term_ranking"
path = "tests/search_term_ranking.rs"
[[test]]
name = "typo_correction"
path = "tests/typo_correction.rs"
[dependencies.byteorder]
version = "1"
[dependencies.caseless]
version = "0.2"
[dependencies.fst]
version = "0.3"
[dependencies.fst-levenshtein]
version = "0.3"
[dependencies.fst-regex]
version = "0.3"
[dependencies.hashbrown]
version = "0.17"
[dependencies.indexmap]
version = "2"
[dependencies.jieba-rs]
version = "0.9"
optional = true
[dependencies.lazy_static]
version = "1"
[dependencies.lindera-core]
version = "0.31"
optional = true
[dependencies.lindera-dictionary]
version = "0.31"
features = ["unidic"]
optional = true
[dependencies.lindera-tokenizer]
version = "0.31"
features = ["unidic"]
optional = true
[dependencies.linked_hash_set]
version = "0.1"
[dependencies.radix]
version = "0.6"
[dependencies.regex]
version = "1"
[dependencies.regex-syntax]
version = "0.8"
[dependencies.rocksdb]
version = "0.24"
features = ["zstd"]
[dependencies.serde]
version = "1"
features = [
"derive",
"rc",
]
[dependencies.snowball]
version = "0.1"
optional = true
package = "waken_snowball"
[dependencies.tracing]
version = "0.1"
[dependencies.twox-hash]
version = "2"
[dependencies.unicode-normalization]
version = "0.1"
[dependencies.unicode-segmentation]
version = "1"
[dependencies.whatlang]
version = "0.18"
[dev-dependencies.config]
version = "0.15"
features = ["toml"]
default-features = false
[dev-dependencies.tracing-subscriber]
version = "0.3"