feat: support custom dictionaries for IK tokenizer#1046
Open
jbjvhvhh wants to merge 1 commit into
Open
Conversation
|
jbjvhvhh seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account. You have signed the CLA already but the status is still pending? Let us recheck it. |
Member
Document AI & IK Custom Dictionary ScoreDocument AI Functions Score =========================== score: 0.00 / 100 load_file: 0 / 50 ai_split_document: 0 / 50 IK Custom Dictionary Score ========================== score: 100.00 / 100 ik_custom_dict: 100 / 100 FTS Large Benchmark ScoreFTS Large Benchmark Score ========================= score: 0.00 / 100 mean_improvement: -0.02% full_score_improvement: 50.00% build_improvement: 3.22% build_ik_all_sec: baseline=35.2836, current=33.44, improvement=5.23% build_ik_content_sec: baseline=28.3764, current=27.445, improvement=3.28% build_beng_en_sec: baseline=14.7578, current=14.586, improvement=1.16% tokenize_improvement: -2.86% tokenize_ik_avg_ms: baseline=0.76478, current=0.7822, improvement=-2.28% tokenize_beng_avg_ms: baseline=0.42262, current=0.4372, improvement=-3.45% query_improvement: -0.43% query_cn_avg_ms: baseline=16.6628, current=16.826, improvement=-0.98% query_beng_avg_ms: baseline=24.3042, current=24.3752, improvement=-0.29% query_mixed_avg_ms: baseline=17.5593, current=17.5705, improvement=-0.06% query_limit_avg_ms: baseline=16.2334, current=16.2964, improvement=-0.39% FTS Large Benchmark Report======================================== FTS Large Benchmark Report ======================================== timestamp: 2026-07-14 02:02:41 label: vldb-ci-29299059459-1 git_head: b216bb9 git_dirty: 0 rows: 20000 batch: 500 rounds: 3000 query_rounds: 200 samples: 3 warmup: 30 skip_load: 0 ---------------------------------------- select1_avg_ms: 0.2161 select1_stdev_ms: 0.0144 raw_load_sec: 1.465 raw_load_rows_per_sec: 13651.9 build_ik_all_sec: 33.440 build_ik_content_sec: 27.445 build_beng_en_sec: 14.586 build_total_sec: 75.488 ---------------------------------------- tokenize_ik_avg_ms: 0.7822 tokenize_ik_median_ms: 0.7838 tokenize_ik_stdev_ms: 0.0029 tokenize_beng_avg_ms: 0.4372 tokenize_beng_median_ms:0.4215 tokenize_beng_stdev_ms: 0.0242 ---------------------------------------- query_cn_hits: 8001 query_cn_avg_ms: 16.8260 query_cn_stdev_ms: 0.0201 query_beng_hits: 11000 query_beng_avg_ms: 24.3752 query_beng_stdev_ms: 0.0090 query_mixed_hits: 7332 query_mixed_avg_ms: 17.5705 query_mixed_stdev_ms: 0.0127 query_limit_hits: 20 query_limit_avg_ms: 16.2964 query_limit_stdev_ms: 0.0061 ======================================== |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Task Description
Add user-defined dictionary support for the IK full-text tokenizer.
Solution Description
Support
FULLTEXT_DICTtables, dictionary refresh, and IK parser properties for custom main, stopword, and quantifier dictionaries. Add dictionary validation,TOKENIZE()integration, dynamic cache refresh, and DDL dependency protection.Passed Regressions
observerbuild passed.ik_custom_dict.testpassed.Upgrade Compatibility
Existing IK indexes continue to use built-in dictionaries by default. The legacy
quanitfier_tablespelling remains compatible.Other Information
Dictionary refresh only affects newly indexed data. Existing data requires rebuilding the full-text index.
Release Note
IK full-text indexes and
TOKENIZE()now support user-defined dictionaries.