solr6.5.1(1)定时增量更新,data-config配置

1.data-config.xml配置增量执行语句

<?xml version="1.0" encoding="UTF-8" ?>

<dataConfig>

    <dataSource name="source_hinew" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" 
      url="jdbc:mysql://localhost:3306/solr_test?serverTimezone=UTC&amp;useUnicode=true&amp;autoReconnect=true&amp;characterEncoding=UTF-8" 
      user="test" password="test"/>
    <document>
    <entity name="member" pk="memid"  >
      query="select distinct * from member" 
      deltaQuery="select memid from member
          where mem_date_updated > '${dataimporter.last_index_time}'"
      deltaImportQuery="select memid from member
          where mem_date_updated > '${dataimporter.last_index_time}'">
        <field column="memid" name="memid" />  
        <field column="name" name="name" />  
        <field column="mem_first_name" name="mem_first_name" />  
        <field column="mem_last_name" name="mem_last_name" />  
        <field column="mem_org_title" name="mem_org_title" />  
        <field column="mem_org_dept" name="mem_org_dept" />  
        <field column="mem_job_func" name="mem_job_func" />  
        <field column="mem_job_level" name="mem_job_level" />  
        <field column="mem_add_city" name="mem_add_city" />  
        <field column="mem_add_state_code" name="mem_add_state_code" />  
        <field column="mem_add_country_code" name="mem_add_country_code" />  
        <field column="mem_date_created" name="mem_date_created" />  
        <field column="mem_email" name="mem_email" />  
        <field column="mem_orgid" name="mem_orgid" />  
        <field column="mem_add_address" name="mem_add_address" />  
  
    </entity>
</document>  
</dataConfig> 

delta-import:通过deltaQuery,查到数据库中未被索引记录的ids(id1,id2...),然后执行deltaImportQuery,如果没用deltaImportQuery,就通过Query去组装deltaImportQuery。对于上面的配置文件,就应该组装成这样的query:select distinct * from member where memid = id1,把这条记录导入索引库里面,然后再导id2。曾以为solr应该组装select .. from .. where .. and memid in (id1, id2)这样的query,可好像它并没这样做。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 两年前用过solr5.1版本的,当时只是简单入个门,拿来在项目里建个全文索引,然后再query,其他什么也没做,还...
    Coselding阅读 3,126评论 3 22
  • solr 数据同步,全量、增量方式 DIH全量同步(全表数据)(一般做第一次数据同步) 首先创建对应的数据库表 s...
    逐暗者阅读 14,673评论 1 26
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,760评论 18 399
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,890评论 18 139
  • 今天老师讲解了ADO.NET数据库等内容,下午助教讲解了习题,课程马上就要结束了,要努力加把劲把没消化的知识点弄懂...
    曹耀文08阅读 137评论 0 0