我有一个像这样的日期时间字段。
<field name="rel_date" type="date" indexed="true" stored="true" default="NOW" multiValued="false"/>
我尝试通过curl查询删除rel_date字段上的某些特定日期。
curl http://$SOLR_IPADDR:$SOLR_PORT/solr/update/?commit=true -H "Content-Type: text/xml" -d "<delete><query>rel_date:\[2012-03-10\])</query></delete>"
但它在SOLR响应中收到无效的日期字符串错误。
HTTP状态400 - 无效日期字符串:'[2012-03-10]'
如何使用CURL查询删除SOLR记录上的特定日期?
答案 0 :(得分:3)
你也需要时间。
日期字段的格式应为1995-12-31T23:59:59Z尾随 “Z”表示UTC时间并且是强制性的(参见下面的解释 UTC)。允许使用可选的小数秒,只要它们可以 不以尾随0结束(但是超过毫秒的任何精度都将是 忽略)。所有其他部分都是强制性的。
另请参阅:http://lucidworks.lucidimagination.com/display/lweug/Solr+Date+Format
答案 1 :(得分:0)
我是通过以下卷曲评论做到的:
卷曲http:// $ SOLR_IPADDR:$ SOLR_PORT / solr / update /?commit = true -H“Content-Type:text / xml”-d“(rel_date:[2012-03-10T00:00:00Z TO 2012-03-10T00:00:00Z])“
您必须从您的环境更改$ SOLR_IPADDR和$ SOLR_PORT。
答案 2 :(得分:0)
卷曲http://host:port/solr/core_name/update?commit=true -H“内容类型:text / xml” --data-binary '<delete><query>rel_date:[2019-03-25T00:00:01Z TO 2019-03-25T23:59:59Z]</query></delete>'