我在下面有这段代码:
$fq.=" + (fritidsboende_uth_from:[$fritids_uth_from TO *]
AND fritidsboende_uth_to:[* TO $fritids_uth_to])
OR (fritidsboende_uth_from:'1972-01-01T01:01:00Z'
AND fritidsboende_uth_to:'2019-01-01T01:01:00Z')";
我注意到我的应用程序在这部分代码中没有得到冒号后面的任何内容:
OR (fritidsboende_uth_from:'1972-01-01T01:01:00Z' // Notice the colon in the date string
我收到此错误消息:无法识别的日期字符串:'1972-01-01T01'。虽然没有结肠后面的东西。
我应该如何“逃避”以便正确识别冒号?
它的PHP ...
由于
更新:
我有这个查询字符串,所以也许冒号在这个翻译中丢失了......嗯......
+%28fritidsboende_uth_from%3A%5B2010-04-09T01%3A01%3A00Z+TO+%2A%5D+AND+fritidsboende_uth_to%3A%5B%2A+TO+2010-04-10T01%3A01%3A00Z%5D%29+OR+%28fritidsboende_uth_from%3A1972-01-01T01%3A01%3A00Z+AND+fritidsboende_uth_to%3A2019-01-01T01%3A
答案 0 :(得分:0)
编辑基于OP的SOLR评论
尝试添加大括号并完成范围,例如:
$fq.=" + (fritidsboende_uth_from:[$fritids_uth_from TO *]
AND fritidsboende_uth_to:[* TO $fritids_uth_to])
OR (fritidsboende_uth_from:[1972-01-01T01:01:00Z TO *]
AND fritidsboende_uth_to:[* TO 2019-01-01T01:01:00Z])";