Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
列出Solr索引中的所有文档键,以实现数据库同步_Solr_Solrj_Dataimporthandler - Fatal编程技术网

列出Solr索引中的所有文档键,以实现数据库同步

列出Solr索引中的所有文档键,以实现数据库同步,solr,solrj,dataimporthandler,Solr,Solrj,Dataimporthandler,我需要将Solr索引与数据库表同步。在任何给定的时间,Solr索引可能需要添加或删除文档。数据库的性质使数据导入处理程序的增量导入功能无法检测更改 我提出的解决方案是检索数据库表的所有主键和Solr索引的所有唯一键(包含相同的整数值)的列表,并比较这些列表。我会用SolrJ来做这个 但是,要获取所有Solr文档,需要采用臭名昭著的方法,将最大整数值硬编码为结果计数限制。使用这种方法似乎是不受欢迎的。我的情况是否有理由忽略此建议,或者是否有其他方法?您可以执行两个查询以在一批中列出solr中的所有

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

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


但是,要获取所有Solr文档,需要采用臭名昭著的方法,将最大整数值硬编码为结果计数限制。使用这种方法似乎是不受欢迎的。我的情况是否有理由忽略此建议,或者是否有其他方法?

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