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

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

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

相关推荐

    spring-cloud模块spring-boot微服务 mysql数据同步到elasticsearch 实时同步

    MySQL是一种广泛使用的开源关系型数据库,而Elasticsearch则是一个高性能、分布式、全文搜索引擎,常用于大数据分析和实时搜索场景。将MySQL中的数据实时同步到Elasticsearch,可以实现数据库数据的实时索引,提高...

    java模拟搜索引擎

    8. **并发与性能优化**:由于涉及大量数据处理,搜索引擎通常需要并发处理任务。Java的并发库提供了线程池、同步工具等,帮助提高系统性能。 9. **自然语言处理**:对于更智能的搜索,可能会涉及到语义理解和用户...

    利用开源工具搭建小型搜索引擎

    - **5.3.2.12 索引同步和locking机制**: 解释索引同步和锁定机制对于保证数据一致性的必要性。 #### 五、字符分析器 **5.1 LUCENE分析器——ANALYZER** - **5.1.1 Analyzer的概述**: 解释Analyzer在Lucene中的...

    基于java小型搜索引擎的研究与实现.doc

    本研究中的小型搜索引擎主要由三个核心组件构成:网络机器人(网络蜘蛛)、索引与搜索程序以及Web服务器。网络机器人负责遍历和抓取网页,通过智能的扫描策略确保对信息的广泛和深度覆盖。抓取的页面会被存储在临时...

    Python-同步MongoDB数据到ElasticSearch

    在IT领域,数据库管理和数据迁移是一项关键任务,特别是在大数据分析和搜索引擎优化的场景下。本文将详细介绍如何使用Python来实现MongoDB数据到ElasticSearch的同步,并探讨全量同步、增量同步和实时同步的实现方法...

    solr 企业搜索引擎教程

    - **兼容性**:Solr创建的索引与Lucene搜索引擎库完全兼容,这意味着Solr可以读取并利用其他Lucene应用程序中已有的索引。 - **数据导入**:从1.3版本开始,Solr支持从数据库(JDBC)、RSS提要、Web页面和文件中导入...

    海量的基于Web的FTP搜索引擎系统的设计与实现

    【海量的基于Web的FTP搜索引擎系统的设计与实现】是一篇探讨如何构建高效FTP搜索引擎的文章,由作者陈华在2001年发表。该文主要讲述了FTP搜索引擎的设计思想、发展历程和关键技术,以“天网”FTP搜索引擎为例,揭示...

    企业级搜索引擎类程序概要设计模板[整理].pdf

    企业级搜索引擎是现代企业信息化建设中的重要组成部分,它为企业提供了高效、精确的信息检索能力,帮助企业员工快速找到所需的数据和知识,提升工作效率。本概要设计模板由东软集团股份有限公司于2013年编纂,旨在...

    基于java的搜索引擎案例设计与实现

    1. **全文检索**:搜索引擎的核心功能是全文检索,它涉及到对大量文本数据的索引和查询。Java中可以使用开源库如Apache Lucene来实现这一功能。Lucene提供了一个高效的、可扩展的全文检索框架,包括分词、索引和搜索...

    数据中台技术架构方案.pptx

    托管弹性大数据基础服务超大规模智能计算和存储管理服务智能数据管理统一调度系统统一数据查询搜索分析引擎数据采集数据集成离线计算实时计算图计算统一存储统一调度大数据云基础平台交互查询和分析服务全链路监控...

    001 定期同步mysql数据到es 删除数据库记录同时删除es记录 es全文搜索分词和高亮

    【标题】"001 定期同步mysql数据到es 删除数据库记录同时删除es记录 es全文搜索分词和高亮" 提供了几个关键的IT知识点,这些知识点主要围绕MySQL数据库与Elasticsearch(ES)的数据同步、数据一致性的保持以及ES的...

    56 solrCloud分布式搜索与索引过程

    ### 56 solrCloud分布式搜索与索引过程 #### 知识点一:SolrCloud简介 在深入了解SolrCloud的分布式搜索与索引过程之前,我们...通过对这些流程的理解,我们可以更好地利用SolrCloud来构建高效、可靠的搜索引擎系统。

    毕设项目:基于Ajax+Lucene构建搜索引擎的设计和实现(ASP.NET+源代码+论文)

    2.2 Lucene与搜索引擎 3 2.3 索引和搜索 4 2.4 Ajax技术 4 3 需求分析 5 3.1 同步环境 5 3.2功能需求 6 3.3 性能需求 6 3.4 输入输出要求 7 3.5 运行需求 7 4 方案设计 7 4.1 搜索引擎模型 7 4.2 数据库的设计 7 4.3...

    Dubbo+Solr+RabbitMQ实现Solr数据同步 DataSyncParent.zip

    Apache Solr是一款开源的企业级全文搜索引擎,基于Lucene库,提供了更高级别的服务,如分布式搜索、近实时索引、多字段排序和过滤、丰富的文档处理等。在本项目中,Solr作为数据的存储和检索平台,用于快速查询大量...

    solr-dataimportscheduler-1.4.jar 增量定时同步数据到solr.rar

    Solr,全称为Apache Solr,是一款开源的企业级搜索引擎,由Apache软件基金会开发。它能够高效、快速地处理大量文本数据,并提供全文检索、 faceted search(分面搜索)、hit highlighting(高亮显示搜索结果)等多种...

    搜索引擎的源代码使用C#编写

    在C#中编写搜索引擎源代码是一项涉及多个技术领域的任务,包括信息检索、自然语言处理、数据结构和算法等。下面我们将详细探讨这些知识点。 首先,搜索引擎的核心是爬虫(Spider)。爬虫负责自动遍历互联网上的网页...

    搜索引擎技术分享 一站式搜索服务平台-TSearcher 共28页.pptx

    【搜索引擎技术分享 一站式搜索服务平台-TSearcher】 TSearcher是一个由淘宝开发的一站式全文搜索服务平台,最初是为了满足内部部门的搜索需求而创建。随着时间的推移,它逐渐发展壮大,不仅服务于淘宝网,还涵盖了...

    基于ElasticSearch的搜索系统的设计与实现

    Logstash被用于将数据从原始数据源同步迁移至ElasticSearch,ElasticSearch是一个强大的分布式、实时的全文搜索引擎,其优秀的索引和搜索性能使得大规模数据检索变得高效。Logstash的使用简化了数据迁移过程,确保...

    Python-分布式爬虫打造搜索引擎代码教程

    6. **结果合并模块**:收集各节点爬取的数据,进行去重和整合,形成最终的搜索引擎索引。 7. **搜索引擎**:使用如Elasticsearch建立搜索索引,提供查询接口,实现快速高效的搜索功能。 在实际操作中,我们还需要...

    java课程设计—网络爬虫搜索引擎(20210809113514).pdf

    总结来说,文档的内容覆盖了Java网络爬虫与搜索引擎的设计与实现,深入到UML设计、数据库操作、多线程编程、索引构建、异常处理等多个方面。这些知识对于深入理解和实现复杂的Java网络应用有着非常重要的意义。

Global site tag (gtag.js) - Google Analytics