列出Solr索引中的所有文档键以进行数据库同步

时间:2013-10-12 04:51:59

标签: solr solrj dataimporthandler

我需要将Solr索引与数据库表同步。在任何给定时间,Solr索引可能需要添加或删除文档。数据库的性质可防止数据导入处理程序的Delta Import功能检测到更改。

我建议的解决方案是检索数据库表的所有主键列表和Solr索引的所有唯一键(包含相同的整数值)并比较这些列表。我会使用SolrJ。

但是,要获取所有Solr文档,需要使用最大整数值进行硬编码的臭名昭着的方法作为结果计数限制。使用这种方法似乎不受欢迎。我的情况是否有理由忽视这个建议,还是有另一种方法?

1 个答案:

答案 0 :(得分:0)

您可以执行两个查询以在一个批次中列出来自solr的所有键:首先使用rows = 0,您将获得一些命中数,第二个数字作为rows参数。它不是非常有效的解决方案,但有效。 第二种可能性是将更新日期存储在solr索引中,并仅从上次同步中获取已更改的文档。