增量导入如何监听数据库和更新?

时间:2018-10-09 08:01:09

标签: solr

我是 solr search DIH 的新手。我做了一些研究,但还没有弄清楚。那么 delta-import 如何更新solr索引,我的意思是是它始终自动监听所有数据库或在5分钟内频繁检查(?),还是我们手动激活了 delta-import? 检查是否有任何更新或添加的新内容。

1 个答案:

答案 0 :(得分:1)

关于“增量导入”的唯一事情是,它假定大多数内容都已被索引,因此正在运行特定查询以确定自上次运行导入以来发生了什么变化,并检测出哪些变化文档已从数据库中删除。您必须编写查询(并在后台支持这些查询的数据结构),才能让Solr为您确定这些事情。

没有监听更改,也没有每五分钟(或另一个间隔)运行自动导入。触发增量导入的方式与触发完全导入的方式相同:

http://localhost:8983/solr/dih/dataimport?command=delta-import

但是可以运行常规查询the delta versions of the queries run instead

<entity name="feature"
          query="select DESCRIPTION from FEATURE where ITEM_ID='${item.ID}'"
          deltaQuery="select ITEM_ID from FEATURE where last_modified > '${dataimporter.last_index_time}'"
          parentDeltaQuery="select ID from item where ID=${feature.ITEM_ID}"> 
    <field name="features" column="DESCRIPTION" />
</entity>

如果您今天正在构建一个应用程序,我强烈建议您在应用程序中更改文档时直接将这些文档直接提交给Solr,而不要使用数据导入处理程序,因为这样可以更好地扩展规模,更快的更新,使您可以完全控制更新过程。