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

solr DB 实现增量索引

阅读更多
1.增量索引实现原理:

     Solr提供了delta-import导入方式。
     所谓delta-import主要是对于数据库(也可能是文件等等)中增加或者被修改的字段进行导入。主要原理是利用率每次我们进行import的时候在solr.home\conf下面生成的dataimport.properties文件,此文件里面有最近一次导入的相关信息。这个文件如下:
1.  #Wed Apr 21 16:48:27 CST 2010

2.  last_index_time=2010-04-21 16\:48\:24

3.  id.last_index_time=2010-04-21 16\:48\:24 


其实last_index_time是最近一次索引(full-import或者delta-import)的时间。
通过比较这个时间和我们数据库表中的timestamp列即可得出哪些是之后修改或者添加的。

2.配置步骤

1)配置好请求处理器。(这个见我的上一篇文章)
2)修改data-config.xml如下:     
    注意entity标签的参数:
    deltaImportQuery
    仅适用于delta-import的参数。DIH会检查数据库中的最后修改时间是否与我们
    deltaQuery 更新updateTime查询出更新记录,然后deltaImportQuery 获取记录,dataimporter.delta.id 来自于deltaQuery 中id字段
3)最后我们请求:
http://:/solr/dataimport?command=delta-import 即可完成delta import
    相关参数如下:
     entity
    entity是document下面的标签(data-config.xml)。使用这个参数可以有选择的执行一个或多个entity   。使用多个entity参数可以使得多个entity同时运行。如果不选择此参数那么所有的都会被运行。
     clean
    选择是否要在索引开始构建之前删除之前的索引,默认为true
    commit
    选择是否在索引完成之后提交。默认为true
    optimize
    是否在索引完成之后对索引进行优化。默认为true
    debug
    是否以调试模式运行,适用于交互式开发(interactive development mode)之中。
     请注意,如果以调试模式运行,那么默认不会自动提交,请加参数“commit=true”
4)测试增量效果
     更新db数据:
     update  ap_spu_info set  spu_modified_date = now (),spu_name='newjay'
     where spu_id >= 7558 and spu_id <= 7558 and spu_id
     发送增量更新索引请求:http://localhost:8888/solr/dataimport?command=delta-import
     查询索引请求:http://localhost:8888/solr/admin/


     Query String 中输入 pid:[7558 TO 200000]

  • 大小: 67.7 KB
  • 大小: 39.5 KB
分享到:
评论
1 楼 wangxiaolongbob 2012-01-02  
可是我想请问一下,在做增量更新的时候你有没有遇到这样的问题:
http://solr.group.iteye.com/group/topic/28761#208435

看了你这篇文章感觉学到很多东西,但是我还是不知道该怎样解决这个问题。请指教。

相关推荐

    跟益达学Solr5之增量索引MySQL数据库表数据

    在这个主题“跟益达学Solr5之增量索引MySQL数据库表数据”中,我们将深入探讨如何利用Solr 5来实现对MySQL数据库表数据的增量索引,以便在搜索时获得实时更新的结果。 首先,我们需要理解什么是增量索引。在传统的...

    solr增量导入更新索引包

    增量导入更新索引包是Solr中的一项重要功能,它允许系统仅处理自上次完整索引以来发生改变的数据,从而大大提升了效率并降低了资源消耗。下面将详细阐述Solr增量更新的相关知识点。 1. **Solr的索引机制** Solr...

    Solr数据库插入(全量和增量)索引

    本文将详细介绍 Solr 数据库插入全量和增量索引的方法和实现步骤。 全量索引 全量索引是指将整个数据集插入 Solr 索引库中,一般用于第一次创建索引的情况。在这种情况下,我们需要将所有数据从数据源中提取出来,...

    solr定时增量更新索引所需jar包

    solr定时增量更新索引所需jar包包括:solr-dataimporthandler-4.0.0.jar、solr-dataimportscheduler.jar(6.x适用)、solr-dataimporthandler-extras-4.0.0.jar。

    solr6 增量导入demo

    2. 配置Solr schema:确保Solr的Schema.xml文件包含了需要索引的所有字段,包括用于增量检测的字段。 3. 启用DeltaImport:在Solr的请求处理器中启用DeltaImport,以便能够通过HTTP请求触发增量导入。 四、定时...

    solr6定时增量更新

    solr6定时增量更新jar包

    java solr solrj 带账号密码增量查询添加索引

    主要讲解了 solr客户端如何调用带账号密码的solr服务器调用,实现添加索引和查询索引,以及分组查询

    hbase+solr创建二级索引完整操作

    - 创建`morphline-hbase-mapper.xml`文件,用于定义Lilykvstore与HBase表之间的映射关系,从而实现索引数据的自动维护。 7. **维护morphlines.conf** - 修改CM界面中的`morphlines.conf`文件,定义Solr中的索引...

    Solr 学习笔记(五)-Solr扩展之分布式索引实例

    在本篇Solr学习笔记中,我们将探讨Solr的分布式索引功能,这对于处理大量数据和实现高可用性至关重要。Solr的分布式索引能力允许我们跨越多个节点分布和处理索引过程,从而提高索引速度和查询性能。在实际应用中,这...

    solr6.5.1定时增量apache-solr-dataimportscheduler

    总的来说,Apache Solr6.5.1的定时增量数据导入特性通过`solr-dataimporthandler`和`solr-data-import-scheduler`这两个组件,实现了对数据源的自动化、智能化管理,极大地提高了数据检索的实时性和系统的响应速度。...

    solr定时索引

    以上就是关于Solr定时索引的详细解释,包括增量索引和完整索引的实现方式,以及在Solr 7.3版本中配置和使用的步骤。理解并熟练掌握这些知识,将有助于你在实际项目中更好地利用Solr进行高效的数据检索。

    Solr 查询,索引

    Solr查询与索引是Apache Solr的核心功能,它是一个基于Lucene的开源搜索引擎服务器,提供了高效、可扩展的全文检索、命中高亮、 faceted search(分面搜索)、拼写检查、动态集群等特性。在本文中,我们将深入探讨...

    hbase+Coprocesser+solr实现二级索引

    2. 编写Coprocessor代码:实现索引更新的逻辑,确保当数据写入HBase时,对应的Solr索引也会更新。 3. 集成Solr:配置Solr服务器,使其能够接收并处理来自HBase的索引更新请求。这包括设置Solr的输入源,以及定义索引...

    solr定时增量更新jar包1.4

    在Solr中,为了确保数据的实时性,我们常常需要实现数据的定时增量更新。"solr定时增量更新jar包1.4"是专门为Solr设计的一个组件,它允许用户设置定时任务来自动检测和导入新的或者修改过的数据,从而保持索引与...

    (solr系列:五) solr定时实时重建索引和增量更新-附件资源

    (solr系列:五) solr定时实时重建索引和增量更新-附件资源

    solr5.5定时增量apache-solr-dataimportscheduler

    经测试apache-solr-dataimportscheduler1.0 版本在solr5.5上已经不能使用,这是本人自己根据情况修改后打的jar包亲测可用

    基于solr的网站索引架构(一)

    Solr是一个开源、高性能的全文检索服务,它允许开发者为大量数据建立索引,从而实现快速的搜索功能。在"基于solr的网站索引架构(一)"中,我们将主要关注以下几个方面: 1. **Solr简介**: Solr是由Apache Lucene...

Global site tag (gtag.js) - Google Analytics