【发布时间】:2014-07-03 17:48:43
【问题描述】:
我正在尝试仅更新 Solr 4 中的现有文档。
假设我有这些文件:
- {id: 1, name:"product 1", price:10}
- {id: 2, name:"product 2", price:15}
- {id: 3, name:"product 3", price:20}
然后我想添加一个字段,但仅适用于现有文档。所以我将这些文件发送给 Solr:
- {id: 2, special:true}
- {id: 3, special:true}
- {id: 7, special:true}
我想要的结果索引文档是:
- {id: 1, name:"product 1", price:10}
- {id: 2, name:"product 2", price:15, special:true}
- {id: 3, name:"product 3", price:20, special:true}
为了实现这一点,我使用了 _version_ 字段(用于原子更新,它已经可以正常工作了,顺便说一句),所以我的更新文档如下所示:
- {id: 2, special:true, _version_:1}
- {id: 3, special:true, _version_:1}
- {id: 7, special:true, _version_:1}
使用它我希望只更新 ids 2 和 3,但我从 Solr 获得了 409 状态代码并且没有任何文档得到更新,因为我在添加所有文档后提交了索引。
如果我使用 version=0,那么我会得到这样的结果:
- {id: 1, name:"product 1", price:10}
- {id: 2, name:"product 2", price:15, special:true}
- {id: 3, name:"product 3", price:20, special:true}
- {id: 7, special:true, _version_:1}
有什么想法吗?
【问题讨论】:
标签: solr