Solr中DataImportScheduler的用途是什么?它可以处理没有架构更改的delta导入吗?

时间:2012-07-10 10:57:29

标签: search solr

我在Solr中配置了DataImportScheduler,它命中了属性文件中params属性中指定的URL,它是否可以处理增量导入而无需更改数据库模式。

2 个答案:

答案 0 :(得分:0)

DataImportScheduler的唯一目的是简单地使用其属性文件中指定的参数和间隔来触发HTTP Post命令,以便在Windows服务器(没有cron作业的地方)上轻松调度。它与db schema无关。

您不允许在表格中添加可空的timestamp column吗?

答案 1 :(得分:0)

如果没有表格中的最后修改列,DIH无法处理delta导入 DIH delta的工作原理是将构建的最后一个成功时间戳与上一个修改后的列进行比较,并仅获取比上一次成功构建时更晚修改的时间戳。

e.g。

<entity name="item" pk="ID"   query="SELECT * FROM item"   deltaImportQuery="SELECT * FROM item
    WHERE id = '${dataimporter.delta.id}'"   deltaQuery="SELECT id FROM item
    WHERE last_modified > '${dataimporter.last_index_time}'">

但是,如果表中没有指示相同的指示符,则delta导入将无法识别新添加/更新的行。
此外,删除的行应该是软删除以启用标识 如果您执行硬删除操作,即使从表中删除,文档仍会在索引中。