首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

业务模块数据与搜索引擎索引数据同步的有关问题

2012-11-07 
业务模块数据与搜索引擎索引数据同步的问题上两周,我在搭建装修图库的索引库的时候,发现了一个潜在的问题,

业务模块数据与搜索引擎索引数据同步的问题
上两周,我在搭建装修图库的索引库的时候,发现了一个潜在的问题,之前是没有考虑到的。
    那就是“业务模块数据与搜索引擎索引数据同步的问题”:
       》搜索引擎索引库的数据时增量的,即更新业务模块每天变更的数据。从索引时间和系统资源占用率分析,每天全部重新索引一遍是不可能的。
        》业务模块的数据变动,搜索引擎需要有办法知道。
    目前我们的实现方式是依靠业务模块数据表的“更新时间”字段。但这样做有很大的局限性,搜索引擎对业务模块的依赖性太强,耦合太紧。
    我分析了一下,有以下几种解决方案:
    1、依赖业务模块数据库表的“更新时间”字段。(我们目前使用的方式)
        缺点
        》要求数据库表必须有“更新时间”字段,业务模块必须保证程序没有bug,有任何变动时,都得确保对“更新时间”字段有修改。
    2、利用操作日志
        目前我们后台录入系统有操作日志表,每个业务操作和变更,都要调用操作日志程序接口,记录入库。
        缺点:
        》必须要求业务模块都正确调用操作日志接口。
    3、利用触发器
       对业务模块相关表都加触发器,数据有变动时,触发器将变动数据插入到日志记录表
        缺点:
        》对业务模块所有相关表都需要加,维护起来也比较费劲
    4、解析数据库日志变更日志。
        mysql会将所有的数据变更记录到日志中。如果这种方式可行,那么搜索引擎和业务模块将没有耦合。
    对于第4种方法,目前我还没有对技术可行性做全面的测试和分析,请各位帮忙分析一下第4中方法的可行性。或者大家有更好的办法。目前这个问题比较棘手,希望大家多多帮忙!
1 楼 fjlyxx 2009-06-24   最简单的办法 修改业务表 添加 最后更新时间最短  2 楼 liufeng820 2009-06-24   楼上说的可不就是楼主的第一种方法...
而且这个方法本来也是当前看来最好的..

最愚蠢的方法莫过于用 日志来处理数据..
那就是噩梦.



热点排行