`
laziobird
  • 浏览: 23967 次
  • 性别: 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

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

相关推荐

    图解Solr6.6.0安装与MySQL配置

    - **增量更新**: 只更新自上次导入以来更改的数据,通常通过记录最后更新时间或ID来实现。 #### 五、总结 本文详细介绍了如何安装配置Solr 6.6.0并与MySQL数据库集成的过程。通过图文并茂的方式,不仅让读者了解到...

    windows-solr集群.docx

    - Solr支持通过配置文件实现数据的自动同步和增量更新。 - 在`data-config.xml`中定义`dataSource`和`document`节点来指定数据来源、映射关系等。 - 可以通过Solr管理界面或命令行工具执行数据导入任务。 #### ...

    apache-solr-dataimportscheduler

    在 Solr 中,数据导入是通过 Data Import Handler (DIH) 实现的,这是一个用于从外部数据源导入数据到 Solr 索引的工具。DIH 支持全量导入和增量导入,全量导入会将整个数据源重新导入,而增量导入只导入自上次导入...

    lucene搜索引擎项目

    Lucene支持增量索引,意味着可以对新的或已更改的数据进行实时更新。索引优化则是一次性合并多个段(segments)的过程,以提高搜索性能。 5. **搜索结果相关性** Lucene通过TF-IDF(Term Frequency-Inverse ...

    一个专业搜索公司关于lucene+solar资料(1)

    - **6.4.3 实现字词混合索引** - 同时支持单词和短语查询,提高搜索灵活性。 - 需要考虑索引的存储和查询效率。 - **6.4.4 定制Tokenizer** - 根据特定需求自定义分词器,以适应不同的文本处理任务。 - 需要...

Global site tag (gtag.js) - Google Analytics