电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

序事簿_F7模糊搜索

来源:金蝶云社区作者:金蝶2024-09-234

序事簿_F7模糊搜索

背景

序事簿/F7模糊搜索功能原来是通过DB中SQL语言的like关键字实现的,当表中的数据量很大时,会出现以下2个比较大的瓶颈:

  • 搜索响应时间慢,每次查询需要时间很久,用户体验差

  • like需要全表扫描,DB压力大,可能会影响到别的正常的SQL操作

模糊搜索通过ElasticSearch实现,可以有效的解决上述问题

特性介绍

  • 搜索响应时间提高

  • 数据库负载降低

具体数据参考以下【性能测试报告】部分

流程设计

  1. 当指定要搜索的实体表数据发生增删改时,ORM会更新数据库

  2. 更新数据库的同时,把消息写入RabbitMQ

  3. DTS监听并消费数据变化的消息

  4. DTS把收到的消息更新到ElasticSearch中,完成数据同步

  5. 当用户使用序事簿/F7做模糊搜索时,直接通过搜索ElasticSearch

MC参数配置

# 是否开启ES全文搜索模糊搜索功能,默认false
fuzzynf7.query.fulltext=true

由于该功能依赖dts数据同步,故以下参数必须开启才能生效

# 启动数据同步
data.sync.enable=true
# 启动数据同步查询
data.sync.query.enable=true
# 关闭DB全文索引
db.fulltext.fields=false

实体配置

需要ES全文索引搜索的实体,通过页面配置生效

1. 搜索实体配置列表

2. 新增搜索实体配置

3. 当搜索实体保存成功后,数据同步实体列表也会同步增加一条记录

部署建议

  • 此功能的ElasticSearch部署需要和ELK的分开,独立部署

问题定位

如果出现数据同步的问题,可以通过查看日志定位问题

性能测试报告

第一次测试

数据量查DB查ES性能提高
物料数据10w点击率:44.7 模糊搜索响应时间:0.325 F7过滤搜索响应时间:0.232点击率:42.3 模糊搜索响应时间:0.255 F7过滤搜索响应时间:0.10772%
物料数据100w点击

序事簿_F7模糊搜索

背景序事簿/F7模糊搜索功能原来是通过DB中SQL语言的like关键字实现的,当表中的数据量很大时,会出现以下2个比较大的瓶颈:搜索响应时间慢...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信