[package] name = "izihawa-tantivy" version = "0.22.6" authors = ["Paul Masurel "] license = "MIT" categories = ["database-implementations", "data-structures"] description = """Search engine library""" documentation = "https://docs.rs/tantivy/" homepage = "https://github.com/quickwit-oss/tantivy" repository = "https://github.com/quickwit-oss/tantivy" readme = "README.md" keywords = ["search", "information", "retrieval"] edition = "2021" rust-version = "1.63" exclude = ["benches/*.json", "benches/*.txt"] [dependencies] futures = "0.3.25" oneshot = "0.1.5" base64 = "0.22.0" byteorder = "1.4.3" crc32fast = "1.3.2" once_cell = "1.10.0" regex = { version = "1.5.5", default-features = false, features = ["std", "unicode"] } aho-corasick = "1.0" tantivy-fst = "0.5" lz4_flex = { version = "0.11", default-features = false, optional = true } memmap2 = { version = "0.9.0", optional = true } zstd = { version = "0.13", optional = true, default-features = false, features = ["experimental"] } tempfile = { version = "3.3.0", optional = true } log = "0.4.16" serde = { version = "1.0.136", features = ["derive"] } serde_json = "1.0.79" num_cpus = "1.13.1" tokio = { version = "1.37", default_features = false, features = ["fs", "io-util"], optional = true } fs4 = { version = "0.8", optional = true } levenshtein_automata = "0.2.1" uuid = { version = "1.0.0", features = ["v4", "serde"] } crossbeam-channel = "0.5.4" rust-stemmers = "1.2.0" downcast-rs = "1.2.0" bitpacking = { version = "0.9.2", default-features = false, features = ["bitpacker4x"] } census = "0.4.2" rustc-hash = "1.1.0" thiserror = "1.0.30" htmlescape = "0.3.1" fail = { version = "0.5.0", optional = true } time = { version = "0.3.10", features = ["serde-well-known"] } smallvec = "1.8.0" rayon = "1.5.2" lru = "0.12.0" fastdivide = "0.4.0" itertools = "0.12.0" measure_time = "0.8.2" async-trait = "0.1.73" arc-swap = "1.5.0" columnar = { version= "0.3", path="./columnar", package ="izihawa-tantivy-columnar" } sstable = { version= "0.3", path="./sstable", package ="izihawa-tantivy-sstable", optional = true } stacker = { version= "0.3", path="./stacker", package ="izihawa-tantivy-stacker" } query-grammar = { version= "0.22", path="./query-grammar", package = "izihawa-tantivy-query-grammar" } tantivy-bitpacker = { version= "0.6", path="./bitpacker", package = "izihawa-tantivy-bitpacker"} common = { version= "0.7", path = "./common/", package = "izihawa-tantivy-common" } tokenizer-api = { version= "0.3", path="./tokenizer-api", package="izihawa-tantivy-tokenizer-api" } sketches-ddsketch = { version = "0.2.1", features = ["use_serde"] } futures-util = { version = "0.3.28", optional = true } fnv = "1.0.7" lockfree-object-pool = "0.1" [target.'cfg(windows)'.dependencies] winapi = "0.3.9" [dev-dependencies] rand = "0.8.5" maplit = "1.0.2" matches = "0.1.9" pretty_assertions = "1.2.1" proptest = "1.0.0" test-log = "0.2.10" futures = "0.3.21" paste = "1.0.11" more-asserts = "0.3.1" rand_distr = "0.4.3" time = { version = "0.3.10", features = ["serde-well-known", "macros"] } postcard = { version = "1.0.4", features = [ "use-std", ], default-features = false } [target.'cfg(not(windows))'.dev-dependencies] criterion = { version = "0.5", default-features = false } [dev-dependencies.fail] version = "0.5.0" features = ["failpoints"] [profile.release] opt-level = 3 debug = false debug-assertions = false [profile.bench] opt-level = 3 debug = true debug-assertions = false [profile.test] debug-assertions = true overflow-checks = true [features] default = ["mmap", "stopwords", "lz4-compression"] mmap = ["fs4", "tempfile", "memmap2", "tokio"] stopwords = [] lz4-compression = ["lz4_flex"] zstd-compression = ["zstd"] failpoints = ["fail", "fail/failpoints"] unstable = [] # useful for benches. quickwit = ["futures-util", "common/quickwit"] wasm = ["zstd/thin", "zstd/wasm"] # Compares only the hash of a string when indexing data. # Increases indexing speed, but may lead to extremely rare missing terms, when there's a hash collision. # Uses 64bit ahash. compare_hash_only = ["stacker/compare_hash_only"] sstable-termdict = ["sstable"] [workspace] members = ["query-grammar", "bitpacker", "common", "ownedbytes", "stacker", "sstable", "tokenizer-api", "columnar"] # Following the "fail" crate best practises, we isolate # tests that define specific behavior in fail check points # in a different binary. # # We do that because, fail rely on a global definition of # failpoints behavior and hence, it is incompatible with # multithreading. [[test]] name = "failpoints" path = "tests/failpoints/mod.rs" required-features = ["failpoints"] [[bench]] name = "analyzer" harness = false [[bench]] name = "index-bench" harness = false