mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-10-25 05:12:27 +00:00
* fix: align fulltext bloom tokens with matches_term and use them for LIKE The bloom fulltext index stored tokens that did not follow matches_term's word boundaries (`_`, ASCII next to Han, Han substrings), so pruning dropped rows matches_term accepts. Tokens and query probes now share the character classes of matches_term, Han runs are indexed as bigrams, and LIKE patterns use the same probes. The bloom blob is written under a new key; blobs from older versions are no longer probed. Tantivy no longer serves matches_term. Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * chore: drop unused lazy_static from index and avoid typo-flagged test tokens Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * docs: link like_probes to tokenize instead of the downstream ScriptTokenizer Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * refactor: name probe extraction with verbs and document CharClass Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * feat: rebuild legacy fulltext bloom indexes and probe lower(col) The manifest records the fulltext bloom version per column, so ADMIN BUILD_INDEX now rebuilds SSTs whose bloom index predates the current tokens, and ssts_index_meta shows the version. Case-insensitive bloom indexes also store the tokens of the whole lowercased text for rows where it can differ (U+0130, U+212A, sigma), so matches_term(lower(col), ..) and lower(col) LIKE .. use the index. Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * test: cover legacy bloom index rewrite by compaction in the compat case Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * chore: log outdated fulltext bloom indexes in the consistency check Signed-off-by: Dennis Zhuang <killme2008@gmail.com> * docs: explain the unrecorded fulltext bloom version Signed-off-by: Dennis Zhuang <killme2008@gmail.com> --------- Signed-off-by: Dennis Zhuang <killme2008@gmail.com>
85 lines
2.2 KiB
TOML
85 lines
2.2 KiB
TOML
[package]
|
|
name = "common-function"
|
|
edition.workspace = true
|
|
version.workspace = true
|
|
license.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[features]
|
|
testing = []
|
|
enterprise = []
|
|
default = ["geo", "ai_functions"]
|
|
geo = ["geohash", "h3o", "s2", "wkt", "geo-types", "dep:geo"]
|
|
ai_functions = ["dep:futures", "dep:reqwest"]
|
|
|
|
[dependencies]
|
|
ahash.workspace = true
|
|
api.workspace = true
|
|
arrow.workspace = true
|
|
arrow-schema.workspace = true
|
|
async-trait.workspace = true
|
|
bincode = "=1.3.3"
|
|
catalog.workspace = true
|
|
common-base.workspace = true
|
|
common-catalog.workspace = true
|
|
common-error.workspace = true
|
|
common-macro.workspace = true
|
|
common-meta.workspace = true
|
|
common-query.workspace = true
|
|
common-telemetry.workspace = true
|
|
common-time.workspace = true
|
|
common-version.workspace = true
|
|
datafusion.workspace = true
|
|
datafusion-common.workspace = true
|
|
datafusion-expr.workspace = true
|
|
datafusion-functions-aggregate-common.workspace = true
|
|
datafusion-functions-window-common.workspace = true
|
|
datafusion-pg-catalog.workspace = true
|
|
datafusion-physical-expr.workspace = true
|
|
datatypes.workspace = true
|
|
derive_more.workspace = true
|
|
futures = { workspace = true, optional = true }
|
|
geo = { version = "0.29", optional = true }
|
|
geo-types = { version = "0.7", optional = true }
|
|
geohash = { version = "0.13", optional = true }
|
|
h3o = { version = "0.6", optional = true }
|
|
hyperloglogplus = "0.4"
|
|
jsonb.workspace = true
|
|
memchr = "2.7"
|
|
mito-codec.workspace = true
|
|
nalgebra.workspace = true
|
|
num-traits = "0.2"
|
|
paste.workspace = true
|
|
regex.workspace = true
|
|
reqwest = { workspace = true, optional = true }
|
|
s2 = { version = "0.0.12", optional = true }
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
session.workspace = true
|
|
snafu.workspace = true
|
|
sql.workspace = true
|
|
store-api.workspace = true
|
|
table.workspace = true
|
|
uddsketch-rs.workspace = true
|
|
vu128.workspace = true
|
|
wkt = { version = "0.11", optional = true }
|
|
|
|
[dev-dependencies]
|
|
approx = "0.5"
|
|
axum.workspace = true
|
|
criterion.workspace = true
|
|
futures.workspace = true
|
|
pretty_assertions.workspace = true
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
tokio.workspace = true
|
|
|
|
[[bench]]
|
|
name = "uddsketch"
|
|
harness = false
|
|
|
|
[package.metadata.cargo-udeps.ignore]
|
|
# Used only by the feature-gated Jev HTTP tests.
|
|
development = ["axum"]
|