Solr 的DIH组件 使用delta_import时 父子关系的entity 最后修改时间问题

本文详细解释了在Solr的DIH组件中,使用delta_import进行父子实体更新时,确保父实体最后修改时间晚于last_index_time的重要性,以及配置示例说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Solr 的DIH组件,当使用delta_import时,如果entity是父子关系,那么想要子entity的修改有效,生成新索引,
首先要保证父entity的最后修改时间是在last_index_time之后的。不然即使子entity的最后修改时间在last_index_time之后,也不会生效。

  <document> 
  <entity name="person"  pk="id"
    query="select id,name,descs,info from test"
    deltaImportQuery="select * from test where ID='${dataimporter.delta.id}'"
                deltaQuery="select id from test where last_modified > '${dataimporter.last_index_time}'">   
    <field column="info" name="name1"/>

    <entity name="address" pk="o_id" query="select address from test2 where o_id='${test.id}'"
     
     deltaQuery="select o_id from test2 where last_modified > '${dataimporter.last_index_time}'"
      parentDeltaQuery="select ID from test where ID='${address.o_id}'">
      <field name="features" column="address" />
    </entity>

  </entity> 
   </document> 

如上述配置所示,如果想保证address子实体delta_import有效,就要保证父实体person的最后修改时间也要晚于last_index_time.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值