You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Solr中多值字段更新异常问题求助

问题分析与解决

你的操作主要存在两个核心错误:

  1. JSON格式不规范:curl命令中使用了单引号,但JSON语法强制要求使用双引号,这会导致Solr无法正确解析更新请求,进而生成异常的新文档。
  2. 原子更新语法错误:
    • 若held_between是多值日期字段(multiValued=true),add操作对应的值必须是数组格式,而非字符串形式的区间;
    • 若held_between是日期范围字段(比如date_range类型),需用set直接设置范围字符串,同时注意时间区间必须是早时间到晚时间(你之前的区间起始时间晚于结束时间,Solr无法正常识别)。

正确操作命令

情况1:held_between为多值日期字段

执行以下命令添加日期值:

curl -X POST -H "Content-Type: application/json" "http://localhost:8983/solr/my_core/update?commitWithin=100" --data-binary '[{"id":"p1","held_between": {"add": ["2023-01-09T23:59:59Z", "2023-06-01T00:00:00Z"]}}]'

需添加多个日期值时,直接在数组中追加即可。

情况2:held_between为日期范围字段

执行以下命令设置日期范围:

curl -X POST -H "Content-Type: application/json" "http://localhost:8983/solr/my_core/update?commitWithin=100" --data-binary '[{"id":"p1","held_between": {"set": "[2023-01-09T23:59:59Z TO 2023-06-01T00:00:00Z]"}}]'

执行正确命令后,查询结果会符合预期:原文档p1将保留name字段,并新增held_between字段。

内容的提问来源于stack exchange,提问作者PhoenixDown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 12:17:38