feat(search): 集成 Canal 实现数据库变更监听与词典热更新

- 新增 Canal 客户端配置与连接管理
- 实现 Canal 数据订阅与消费调度任务
- 添加外部词典热更新接口与服务实现- 配置 Elasticsearch词典热更新支持
- 引入 Canal 相关依赖并统一版本管理- 启用 Spring 定时任务支持以驱动 Canal 消费- 增加项目词典以优化拼写检查准确性
This commit is contained in:
2025-11-02 19:03:26 +08:00
parent 96b4127873
commit 39d2eb1063

View File

@@ -50,6 +50,7 @@ public class CanalSchedule implements Runnable {
// 拉取数据为空,休眠 1s, 防止频繁拉取 // 拉取数据为空,休眠 1s, 防止频繁拉取
TimeUnit.SECONDS.sleep(1); TimeUnit.SECONDS.sleep(1);
} catch (InterruptedException e) { } catch (InterruptedException e) {
log.error("消费 Canal 批次数据异常", e);
} }
} else { } else {
// 如果当前批次有数据,打印这批次中的数据条目 // 如果当前批次有数据,打印这批次中的数据条目
@@ -77,7 +78,7 @@ public class CanalSchedule implements Runnable {
continue; continue;
} }
CanalEntry.RowChange rowChage = null; CanalEntry.RowChange rowChage;
try { try {
rowChage = CanalEntry.RowChange.parseFrom(entry.getStoreValue()); rowChage = CanalEntry.RowChange.parseFrom(entry.getStoreValue());
} catch (Exception e) { } catch (Exception e) {