上两周,我在搭建装修图库的索引库的时候,发现了一个潜在的问题,之前是没有考虑到的。
那就是“业务模块数据与搜索引擎索引数据同步的问题”:
》搜索引擎索引库的数据时增量的,即更新业务模块每天变更的数据。从索引时间和系统资源占用率分析,每天全部重新索引一遍是不可能的。
》业务模块的数据变动,搜索引擎需要有办法知道。
目前我们的实现方式是依靠业务模块数据表的“更新时间”字段。但这样做有很大的局限性,搜索引擎对业务模块的依赖性太强,耦合太紧。
我分析了一下,有以下几种解决方案:
1、依赖业务模块数据库表的“更新时间”字段。(我们目前使用的方式)
缺点
》要求数据库表必须有“更新时间”字段,业务模块必须保证程序没有bug,有任何变动时,都得确保对“更新时间”字段有修改。
2、利用操作日志
目前我们后台录入系统有操作日志表,每个业务操作和变更,都要调用操作日志程序接口,记录入库。
缺点:
》必须要求业务模块都正确调用操作日志接口。
3、利用触发器
对业务模块相关表都加触发器,数据有变动时,触发器将变动数据插入到日志记录表
缺点:
》对业务模块所有相关表都需要加,维护起来也比较费劲
4、解析数据库日志变更日志。
mysql会将所有的数据变更记录到日志中。如果这种方式可行,那么搜索引擎和业务模块将没有耦合。
对于第4种方法,目前我还没有对技术可行性做全面的测试和分析,请各位帮忙分析一下第4中方法的可行性。或者大家有更好的办法。目前这个问题比较棘手,希望大家多多帮忙!
分享到:
相关推荐
业务组件化,分拆成多个业务模块,形成各种小的应用服务 去中心化,避免单点及瓶颈 mysql数据库M-Master部署(IDC同步) 图片池应用服务等 去中心化 采用多级cache,本地cache、 memcache服务器、普通存储 微博数据...
提供搜索引擎索引接口,可以同步将站内所有频道(楼盘、二手房、论坛、博客等)的内容加入索引。达到一处搜索全站内容的专业级站内搜索引擎。 12、数据采集 二手房源信息采集、楼盘信息采集(带图片)、新闻文章采集 ...
提供搜索引擎索引接口,可以同步将站内所有频道(楼盘、二手房、论坛、博客等)的内容加入索引。达到一处搜索全站内容的专业级站内搜索引擎。 12、数据采集 二手房源信息采集、楼盘信息采集(带图片)、新闻文章采集 ...
提供搜索引擎索引接口,可以同步将站内所有频道(楼盘、二手房、论坛、博客等)的内容加入索引。达到一处搜索全站内容的专业级站内搜索引擎。 12、数据采集 二手房源信息采集、楼盘信息采集(带图片)、新闻文章采集 ...
提供搜索引擎索引接口,可以同步将站内所有频道(楼盘、二手房、论坛、博客等)的内容加入索引。达到一处搜索全站内容的专业级站内搜索引擎。 12、数据采集 二手房源信息采集、楼盘信息采集(带图片)、新闻文章采集...
提供搜索引擎索引接口,可以同步将站内所有频道(楼盘、二手房、论坛、博客等)的内容加入索引。达到一处搜索全站内容的专业级站内搜索引擎。 12、数据采集 二手房源信息采集、楼盘信息采集(带图片)、新闻文章采集 ...
2、改名“文件_搜索1”改为“文件_搜索_深度”并修正备注及深度问题,感谢易友【@小爬虫】反馈。 3、改善“时间_取现行时间戳”优化代码,提高执行效率,感谢易友【@小爬虫】反馈。 4、改善“文本_逐字分割”改善...
关于java程序员发展需要学习的路线整理集合 技术 应用技术 计算机基础知识 cpu mem disk ... 线程,进程 第三方库 ... 数据结构 ... 大数据与nosql ... 多线程与并发 ... 同步阻塞 ... 数据结构与算法 各种工具
Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...
以搜索引擎首先面临的问题就是如何能够设计出高效的下载系统,将如此海量 的网页数据传送到本地,在本地形成互联网网页的镜像备份。 网络爬虫即扮演 如此角色。 它是搜索引擎中及其关键的基础构件。WEBCRAWLER 网络...
20、后台主内核模块采用.Net开发,沿续千博网络一贯的功能强劲、简单易用的设计理念,全新的模板引擎机制,全新的静态生成方案,全新的企业网站搜索引擎优化内核,全新的功能模块……这些功能和技术上的革新塑造了一...
高性能站内搜索引擎,文章添加自动生成索引,同时根据文章标题和内容查询万数据,用时在S之内。 创新的可视化标签设计,使用者只需要点击鼠标就可以实现所需要的标签效果,提供“预览”功能,即时了解该标签生成后...
· 优化游客跳转代码,防止搜索引擎识别 · 修复手机版和PC版有些不同步问题 · 修复伪原创词汇后台不能显示问题 · 修复采集内容的问题 · 修复整篇文章模式缩略图调用问题 · 修复分组内容库调用出错...
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查询检索...
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查询检索...
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查询检索...
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 1.1 中 QueryString 的安全获取写法 ASP.NET运行模式:PageHandlerFactory 利用搜索引擎引用来高亮页面关键字 网站首页的自动语言切换 应用系统的多...
6、高性能站内搜索引擎,文章添加自动生成索引,同时根据文章标题和内容查询200万数据,用时在1S之内。 7、创新的可视化标签设计,使用者只需要点击鼠标就可以实现所需要的标签效果,提供“预览”功能,即时了解该...