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