0
我正在使用php和solr,我面臨的問題是,無論何時查詢是動態構建的,有時候查詢沒有正確的語法或傳遞適當的參數。Apache solr在solr上執行之前驗證查詢
因此,我得到了solr日誌中的錯誤。
我需要一個解決方案,以便語法錯誤的查詢不應該由應用程序執行。
我正在使用php和solr,我面臨的問題是,無論何時查詢是動態構建的,有時候查詢沒有正確的語法或傳遞適當的參數。Apache solr在solr上執行之前驗證查詢
因此,我得到了solr日誌中的錯誤。
我需要一個解決方案,以便語法錯誤的查詢不應該由應用程序執行。
你的Solr庫應該爲你處理所有事情 - 逃避需要轉義的地方等。如果你自己構建URL,你會have to escape the valuesSolr expects to be escaped,並根據需要正確地urlencode值。
這裏的名單從ClientUtils上面的鏈接:
// These characters are part of the query syntax and must be escaped
if (c == '\\' || c == '+' || c == '-' || c == '!' || c == '(' || c == ')' || c == ':'
|| c == '^' || c == '[' || c == ']' || c == '\"' || c == '{' || c == '}' || c == '~'
|| c == '*' || c == '?' || c == '|' || c == '&' || c == ';' || c == '/'
|| Character.isWhitespace(c)) {