0

我在 Solr 中配置了 DataImportScheduler,它命中了属性文件中 params 属性中指定的 URL,它是否可以在不更改数据库架构的情况下处理增量导入。

4

2 回答 2

0

如果没有表中最后修改的列,DIH 无法处理增量导入。
DIH delta 通过将构建的最后一个成功时间戳与最后修改的列进行比较来工作,并且只选择那些晚于最后一个成功构建的修改。

例如

<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}'">

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

于 2012-07-11T07:24:48.860 回答
0

DataImportScheduler's sole purpose is to simply fire HTTP Post command with params and interval specified in its properties file to allow easy scheduling on Windows servers (where there are no cron jobs). It has nothing to do with db schema.

You're not allowed to add nullable timestamp column in your tables?

于 2012-07-10T11:21:38.300 回答