2016-11-23 93 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),有一個包含空白的值。我使用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 via PHP,但爲了解決這個問題,我先通過curl試試。通過PHP庫查詢,給出相同的錯誤輸出。

回答

1

您可以通過將整個值封閉在""forth_filter:"forth value"或使用\forth_filter:forth\ value來避開空格。