`
madwind
  • 浏览: 5098 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

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

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



1 楼 fjlyxx 2009-06-24  
最简单的办法 修改业务表 添加 最后更新时间最短 

相关推荐

    中国首届微博开发者大会-新浪微博架构分析(杨卫华)

    业务组件化,分拆成多个业务模块,形成各种小的应用服务 去中心化,避免单点及瓶颈 mysql数据库M-Master部署(IDC同步) 图片池应用服务等 去中心化 采用多级cache,本地cache、 memcache服务器、普通存储 微博数据...

    大型房产门户网站管理系统

    提供搜索引擎索引接口,可以同步将站内所有频道(楼盘、二手房、论坛、博客等)的内容加入索引。达到一处搜索全站内容的专业级站内搜索引擎。 12、数据采集 二手房源信息采集、楼盘信息采集(带图片)、新闻文章采集 ...

    房产CMS系统 v5.6

    提供搜索引擎索引接口,可以同步将站内所有频道(楼盘、二手房、论坛、博客等)的内容加入索引。达到一处搜索全站内容的专业级站内搜索引擎。 12、数据采集 二手房源信息采集、楼盘信息采集(带图片)、新闻文章采集 ...

    淘特房产CMS系统 v5.5 生成HTML静态版.rar

    提供搜索引擎索引接口,可以同步将站内所有频道(楼盘、二手房、论坛、博客等)的内容加入索引。达到一处搜索全站内容的专业级站内搜索引擎。 12、数据采集 二手房源信息采集、楼盘信息采集(带图片)、新闻文章采集 ...

    搞笑版大学录取通知书.rar

    提供搜索引擎索引接口,可以同步将站内所有频道(楼盘、二手房、论坛、博客等)的内容加入索引。达到一处搜索全站内容的专业级站内搜索引擎。 12、数据采集 二手房源信息采集、楼盘信息采集(带图片)、新闻文章采集...

    大型房产门户网站管理系统V7.1

    提供搜索引擎索引接口,可以同步将站内所有频道(楼盘、二手房、论坛、博客等)的内容加入索引。达到一处搜索全站内容的专业级站内搜索引擎。 12、数据采集 二手房源信息采集、楼盘信息采集(带图片)、新闻文章采集 ...

    精易模块[源码] V5.15

    2、改名“文件_搜索1”改为“文件_搜索_深度”并修正备注及深度问题,感谢易友【@小爬虫】反馈。 3、改善“时间_取现行时间戳”优化代码,提高执行效率,感谢易友【@小爬虫】反馈。 4、改善“文本_逐字分割”改善...

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    关于java程序员发展需要学习的路线整理集合 技术 应用技术 计算机基础知识 cpu mem disk ... 线程,进程 第三方库 ... 数据结构 ... 大数据与nosql ... 多线程与并发 ... 同步阻塞 ... 数据结构与算法 各种工具

    JAVA上百实例源码以及开源项目源代码

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    C++网络爬虫项目

    以搜索引擎首先面临的问题就是如何能够设计出高效的下载系统,将如此海量 的网页数据传送到本地,在本地形成互联网网页的镜像备份。 网络爬虫即扮演 如此角色。 它是搜索引擎中及其关键的基础构件。WEBCRAWLER 网络...

    千博企业网站管理系统Access全功能开放 - 好东西哦! 真的舍不得分享

    20、后台主内核模块采用.Net开发,沿续千博网络一贯的功能强劲、简单易用的设计理念,全新的模板引擎机制,全新的静态生成方案,全新的企业网站搜索引擎优化内核,全新的功能模块……这些功能和技术上的革新塑造了一...

    旅游网站源码(旅行社网站建设用)

    高性能站内搜索引擎,文章添加自动生成索引,同时根据文章标题和内容查询万数据,用时在S之内。 创新的可视化标签设计,使用者只需要点击鼠标就可以实现所需要的标签效果,提供“预览”功能,即时了解该标签生成后...

    小旋风蜘蛛池站群系统源码X4版本(原小霸王蜘蛛池)熊掌自推送.zip

     · 优化游客跳转代码,防止搜索引擎识别  · 修复手机版和PC版有些不同步问题  · 修复伪原创词汇后台不能显示问题  · 修复采集内容的问题  · 修复整篇文章模式缩略图调用问题  · 修复分组内容库调用出错...

    Java数据库编程宝典2

    6.2.2 UPDATE的常见问题 6.3 带有提交和回滚的事务管理 6.4 DELETE语句 6.5 基于Swing的表编辑器 6.5.1 TableEditFrame 6.5.2 Controller类 6.6 JDBC ResultSetMetaData 6.7 小结 第7章 使用SQL查询检索...

    Java数据库编程宝典4

    6.2.2 UPDATE的常见问题 6.3 带有提交和回滚的事务管理 6.4 DELETE语句 6.5 基于Swing的表编辑器 6.5.1 TableEditFrame 6.5.2 Controller类 6.6 JDBC ResultSetMetaData 6.7 小结 第7章 使用SQL查询检索...

    Java数据库编程宝典1

    6.2.2 UPDATE的常见问题 6.3 带有提交和回滚的事务管理 6.4 DELETE语句 6.5 基于Swing的表编辑器 6.5.1 TableEditFrame 6.5.2 Controller类 6.6 JDBC ResultSetMetaData 6.7 小结 第7章 使用SQL查询检索...

    Java数据库编程宝典3

    6.2.2 UPDATE的常见问题 6.3 带有提交和回滚的事务管理 6.4 DELETE语句 6.5 基于Swing的表编辑器 6.5.1 TableEditFrame 6.5.2 Controller类 6.6 JDBC ResultSetMetaData 6.7 小结 第7章 使用SQL查询检索...

    asp.net知识库

    asp.net的网址重定向方法的比较:面向搜索引擎友好 也谈 ASP.NET 1.1 中 QueryString 的安全获取写法 ASP.NET运行模式:PageHandlerFactory 利用搜索引擎引用来高亮页面关键字 网站首页的自动语言切换 应用系统的多...

    淘特Asp.Net Cms v4.0.rar

    6、高性能站内搜索引擎,文章添加自动生成索引,同时根据文章标题和内容查询200万数据,用时在1S之内。 7、创新的可视化标签设计,使用者只需要点击鼠标就可以实现所需要的标签效果,提供“预览”功能,即时了解该...

Global site tag (gtag.js) - Google Analytics