2016-06-21 14 views
0

Ich benutze PHP und Solr, Problem, das ich konfrontiert ist, dass, wenn Abfrage dynamisch erstellt wird, gibt es manchmal Situationen, in denen Abfrage nicht ordnungsgemäße Syntax oder ordnungsgemäße Parameter übergeben.Apache Solr verifizieren Abfrage vor der Ausführung auf solr

Als Ergebnis bekomme ich Fehler in solr-Logs.

Ich brauche eine Lösung, damit Abfragen mit Syntaxfehlern nicht von der Anwendung ausgeführt werden.

Antwort

0

Ihre Solr-Bibliothek sollte alles für Sie handhaben - Entweichen wo Entkommen erforderlich ist, usw. Wenn Sie die URL selbst erstellen, werden Sie have to escape the values die Solr expects to be escaped, und die Werte ordnungsgemäß urlencode wie benötigt.

Hier ist die Liste von dem ClientUtils oben Link:

// 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)) {