2016-11-23 3 views
0

У меня есть этот запрос к серверу в solr4.8.0 (используя curl):Проблемы с белым пространством в Solr

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), есть значение, которое содержит пробел. Я избежал этого, используя метод escape URL (%20). Я использовал до этого побега с time_filter.

Этот запрос выдает ошибку:

"error":{

"msg":"no field name specified in query and no default specified via 'df' param",

"code":400}

}

Описание проблемы: ошибка происходит из-за forth_filter. Я знаю это, потому что, если я удалю его, все будет работать. А также, если я удалю все другие фильтры, но сохранил их, он все равно не работает, что приводит к той же ошибке. Может ли кто-нибудь помочь мне решить эту проблему?

N.B. Я запрашиваю solr через PHP, но для того, чтобы исправить это, я сначала пробую его через curl. Запрос через библиотеку PHP дает тот же результат ошибки.

ответ

1

Вы можете избежать пробелов либо заключая целое значение в пределах "", forth_filter:"forth value" или с помощью \: forth_filter:forth\ value.

Смежные вопросы