我想知道在Solr中是否有某种方法可以进行条件更新。
我们的文档来自多个渠道读取真实数据库,并且有可能首先将文档的更高版本编入索引(因为与该版本对应的通道以某种方式获得更多优先级并成功进行更新)。
版本字段在数据库中维护。 因此我们无法在Solr中真正使用 version 字段(因为Solr希望它完全相信文档也是从Solr读取的)。
我想要的是这样的:
Update SolrDoc if SolrDoc.version > IndexedDoc.version
如果UpdateRequest提供了一个查询参数来执行相同或类似的操作,那将会很棒。 在这一点上,除了使用UpdateRequestProcessor之外我没有其他出路,但是关于它的文档严重缺乏,我无法弄清楚在自定义UpdateRequestProcessor中编写java代码的位置