【发布时间】:2017-04-07 04:15:00
【问题描述】:
我对 solr4.8.0 服务器有这个查询(使用 curl):
curl -g "http://192.168.0.70:8983/solr/solr_db/select?q=*:*&fl=some,fields,here&start=0&rows=5&fq=first_filter:first_value&fq=time_filter:[2016-11-21T22:00:00Z%20TO%202016-11-22T21:59:59Z]&fq=third_filter:third-value&fq=forth_filter:forth%20value"
如您所见,对于第四个查询过滤器 (forth_filter:forth%20value),有一个包含空格的值。我使用 URL 转义方法 (%20) 对此进行了转义。我在这次转义之前使用了time_filter。
此查询给出错误:
“错误”:{
"msg":"查询中没有指定字段名,也没有通过'df'参数指定默认值",
“代码”:400}
}
问题描述:
错误是由forth_filter 引起的。我知道这一点,因为如果我删除它,一切正常。而且,如果我删除所有其他过滤器,但保留它,它仍然不起作用,导致同样的错误。
谁能指导我如何解决这个问题?
注意我正在通过 PHP 查询 solr,但为了解决这个问题,我首先通过 curl 尝试它。通过 PHP 库查询,给出相同的错误输出。
【问题讨论】: