浏览 1403 次
锁定老帖子 主题:业务模块数据与搜索引擎索引数据同步的问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-06-24
那就是“业务模块数据与搜索引擎索引数据同步的问题”: 》搜索引擎索引库的数据时增量的,即更新业务模块每天变更的数据。从索引时间和系统资源占用率分析,每天全部重新索引一遍是不可能的。 》业务模块的数据变动,搜索引擎需要有办法知道。 目前我们的实现方式是依靠业务模块数据表的“更新时间”字段。但这样做有很大的局限性,搜索引擎对业务模块的依赖性太强,耦合太紧。 我分析了一下,有以下几种解决方案: 1、依赖业务模块数据库表的“更新时间”字段。(我们目前使用的方式) 缺点 》要求数据库表必须有“更新时间”字段,业务模块必须保证程序没有bug,有任何变动时,都得确保对“更新时间”字段有修改。 2、利用操作日志 目前我们后台录入系统有操作日志表,每个业务操作和变更,都要调用操作日志程序接口,记录入库。 缺点: 》必须要求业务模块都正确调用操作日志接口。 3、利用触发器 对业务模块相关表都加触发器,数据有变动时,触发器将变动数据插入到日志记录表 缺点: 》对业务模块所有相关表都需要加,维护起来也比较费劲 4、解析数据库日志变更日志。 mysql会将所有的数据变更记录到日志中。如果这种方式可行,那么搜索引擎和业务模块将没有耦合。 对于第4种方法,目前我还没有对技术可行性做全面的测试和分析,请各位帮忙分析一下第4中方法的可行性。或者大家有更好的办法。目前这个问题比较棘手,希望大家多多帮忙! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |