首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Solr:如何使用curl或命令只更新选定的字段?

Solr:如何使用curl或命令只更新选定的字段?
EN

Stack Overflow用户
提问于 2020-02-14 10:54:02
回答 1查看 1.1K关注 0票数 2

我有下面的Solr文档

代码语言:javascript
复制
{
    "SKU":"1905/SHIRT DRESS-0",
    "DateCreated":["2019-08-18T15:21:04.090Z"],
    "DateModified":["2020-01-17T02:31:16.803Z"],
    "Name":"TIGRESS COLLECTION - SHIRT DRESS, SIZE 0 (6-8)",
    "Price":["249.00 AUD"],
    "PriceSale":["99.50 AUD"],
    "Size":["SIZE 0 (6-8)"],
    "StockLevel":["in stock"],
    "SubCategory":["KAFTAN"],
    "IsDeleted":[0],
    "ProductAddedOn":["2020-02-14T10:38:43.047Z"],
    "_version_":1658508251550973952
}

我只想从这个文档中更新一个字段。

我想更新IsDeleted =1,其中ProductAddedOn小于今天的日期

怎么做?

另外,我尝试用下面的命令更新名称

代码语言:javascript
复制
curl -X POST -H 'Content-Type: application/json' 'http://10.7.0.106:8983/solr/prashant1/update?_version_:1658508177093689344&versions=true&commit=true' --data-binary ' [{ "SKU" : "1905/SHIRT DRESS-0", "Name" : "update attempt with correct existing version" }]'

但是这个命令从文档中移除除了Name和SKU之外的所有其他字段。

因此,我只想从文档中更新一个字段,其他字段应该保持原样。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-14 11:04:16

Solr通过字段修饰符(如add和set )支持单个文档的简单原子更新(也称为部分更新)。

乐观并发控制是另一种原子更新文档的方法。

修饰符Solr支持几个自动更新文档值的修饰符。

set -设置或替换特定值,如果指定null为新值,则移除该值。

例子:

代码语言:javascript
复制
curl http://10.224.143.172:8983/solr/knowledge_combined/update?commit=true --data-binary $'[{"id" : "1", "site_name"  : {"set":"Test new change"} }]'
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60224916

复制
相关文章

相似问题

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