我正在尝试仅更新Solr 4中的现有文档。
假设我有这些文件:
然后我想添加一个字段,但仅适用于现有文档。所以我将这些文件发送给Solr:
我想要的索引文档是:
为了实现这个目的,我正在使用_version_字段(对于原子更新,已经正常工作,顺便说一下),所以我的更新文档如下所示:
使用它我希望只更新ID 2和3,但我从Solr获得409状态代码并且没有任何文档得到更新,因为我在添加所有文档后提交了索引。
如果我使用版本 = 0,那么我会得到类似的结果:
有什么想法吗?
答案 0 :(得分:0)
您使用版本:1的解决方案是正确的。但请注意,如果您批量发送原子更新,则任何失败都将导致批处理中的后续更新被丢弃。
在您给出的示例中,id:7将导致409状态代码(版本冲突),但应更新id为2且id为3的文档。