ai_clean_synonym_init.sql 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. -- ============================================================================
  2. -- ai_clean_synonym:表头同义词库(2026-10-25)
  3. --
  4. -- 星型词组:alias_word → std_word。只进 AI 清洗的评分(HeaderScorer)与绑定域
  5. -- (AiTemplateMatcher.filterBinds),绝不进 HeaderFingerprint 指纹。
  6. -- 本脚本用于**已存在的**环境(建表 + 迁移原硬编码词条);新环境直接按 ai_clean.sql 建表即可。
  7. -- 运行期增删改走 /aiClean/synonym 管理接口,改完自动刷新缓存,无需重启。
  8. -- ============================================================================
  9. create table if not exists ai_clean_synonym
  10. (
  11. id bigint primary key,
  12. std_word varchar(100) not null, -- 标准词(组内规范形,如 交易金额)
  13. alias_word varchar(100) not null, -- 别名(如 发生额)
  14. remark varchar(200),
  15. status smallint default 1, -- 1 启用 / 0 停用
  16. create_by bigint,
  17. create_time timestamp default current_timestamp,
  18. update_time timestamp
  19. );
  20. create unique index if not exists uk_ai_clean_synonym on ai_clean_synonym (std_word, alias_word);
  21. -- 内置词条(与 2026-10-22 起硬编码在 HeaderScorer.SYNONYMS 的 24 条一致,去掉 6 条自映射)
  22. insert into ai_clean_synonym (id, std_word, alias_word, remark) values
  23. (1, '户名', '账户名称', '内置:户名系'),
  24. (2, '户名', '客户名称', '内置:户名系'),
  25. (3, '户名', '姓名', '内置:户名系'),
  26. (4, '交易金额', '发生额', '内置:金额系'),
  27. (5, '交易金额', '交易额', '内置:金额系'),
  28. (6, '交易金额', '金额', '内置:金额系'),
  29. (7, '日期', '交易日期', '内置:日期系'),
  30. (8, '时间', '交易时间', '内置:时间系'),
  31. (9, '账号', '卡号', '内置:账号系'),
  32. (10, '账号', '银行账号', '内置:账号系'),
  33. (11, '账号', '账户', '内置:账号系'),
  34. (12, '电话', '手机号', '内置:电话系'),
  35. (13, '电话', '手机', '内置:电话系'),
  36. (14, '电话', '联系电话', '内置:电话系'),
  37. (15, '身份证号', '身份证', '内置:证件系'),
  38. (16, '身份证号', '身份证号码', '内置:证件系'),
  39. (17, '身份证号', '证件号码', '内置:证件系')
  40. on conflict (std_word, alias_word) do nothing;