Solr 条件添加/更新?

Art*_*kii 5 search solr addition

我有一个相当简单的需求,需要在 Solr 中进行条件更新,这在 MySQL 中很容易完成。

例如,

  • 我有 100 个文档,其中有一个名为<id>
  • 我正在发布 10 个文档,其中一些可能是重复的,在这种情况下,Solr 会使用相同的s<id>更新现有记录<id>
  • 我有一个名为的字段<dateCreated>,我只想<doc>在新值<dateCreated>大于旧值时更新 a (当然,<dateCreated>这仅适用于重复的s )<id>

我怎样才能完成这样的事情呢?

上下文试图对抗竞争条件,导致同一 ID 多次添加,但执行顺序错误。

谢谢。

Mau*_*fer 2

我可以想到两种方法:

  1. 编写您自己的UpdateHandler并覆盖addDoc以实现该检查。
  2. 在客户端代码中放置适当的锁(关键部分),以便获取存储的文档、比较日期并以线程安全的方式有条件地添加新文档。

请记住,Solr 不是数据库,将其与 MySQL 进行比较就像比较苹果和橘子。