首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >锁定Solr中用于编辑的特定文档

锁定Solr中用于编辑的特定文档
EN

Stack Overflow用户
提问于 2019-05-01 20:24:12
回答 1查看 111关注 0票数 0

是否有一种方法可以锁定Solr6或Solr7中用于编辑/删除的特定文档?例如,我阅读了一个文档,根据它的内容,我看到它应该被更新或删除。然后发送更新/删除查询。但是,从我读取文档的那一刻到发送查询的那一刻,我想确保文档没有被其他进程更新或删除--“锁定”它用于任何编辑。有办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-01 21:57:34

您可以在Solr中使用乐观并发特性

实际上,在请求中包含来自文档的_version_字段的值。如果所包含的_version_值与文档中的值不匹配(即,自检索文档以来文档已被更新),则更新失败并返回409HTTP错误代码。

  • 客户端读取文档。在Solr中,可以使用/get处理程序检索文档,以确保获得最新版本。
  • 客户端在本地更改文档。
  • 例如,客户端将修改后的文档重新提交给Solr,可能会使用/update处理程序。
  • 如果存在版本冲突(HTTP错误代码409),则客户端将重新启动进程。

_version_字段中给出的值可以指定您想要的行为:

如果_version_字段中的内容大于'1‘(即'12345'),那么文档中的_version_必须与索引中的_version_匹配。 如果_version_字段中的内容等于“1”,那么文档就必须简单地存在。在这种情况下,不会发生版本匹配,但是如果文档不存在,更新将被拒绝。 如果_version_字段中的内容小于“0”(即'-1'),那么文档就不存在。在这种情况下,不会发生版本匹配,但是如果文档存在,更新将被拒绝。 如果_version_字段中的内容等于“0”,那么版本是否匹配或文档是否存在并不重要。如果它存在,它将被覆盖;如果它不存在,它将被添加。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55942285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档