Query DSL: queryString - allow to escape the string (should be on by default), closes #41.
This commit is contained in:
parent
bcc52a0173
commit
c7389df8e0
|
@ -70,6 +70,7 @@ public class QueryStringJsonQueryParser extends AbstractIndexComponent implement
|
|||
int fuzzyPrefixLength = FuzzyQuery.defaultPrefixLength;
|
||||
int phraseSlop = 0;
|
||||
float boost = 1.0f;
|
||||
boolean escape = true;
|
||||
Analyzer analyzer = null;
|
||||
|
||||
String currentFieldName = null;
|
||||
|
@ -101,6 +102,8 @@ public class QueryStringJsonQueryParser extends AbstractIndexComponent implement
|
|||
lowercaseExpandedTerms = token == JsonToken.VALUE_TRUE;
|
||||
} else if ("enablePositionIncrements".equals(currentFieldName)) {
|
||||
enablePositionIncrements = token == JsonToken.VALUE_TRUE;
|
||||
} else if ("escape".equals(currentFieldName)) {
|
||||
escape = token == JsonToken.VALUE_TRUE;
|
||||
}
|
||||
} else if (token == JsonToken.VALUE_NUMBER_FLOAT) {
|
||||
if ("fuzzyMinSim".equals(currentFieldName)) {
|
||||
|
@ -123,6 +126,8 @@ public class QueryStringJsonQueryParser extends AbstractIndexComponent implement
|
|||
lowercaseExpandedTerms = jp.getIntValue() != 0;
|
||||
} else if ("enablePositionIncrements".equals(currentFieldName)) {
|
||||
enablePositionIncrements = jp.getIntValue() != 0;
|
||||
} else if ("escape".equals(currentFieldName)) {
|
||||
escape = jp.getIntValue() != 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -142,6 +147,10 @@ public class QueryStringJsonQueryParser extends AbstractIndexComponent implement
|
|||
queryParser.setFuzzyPrefixLength(fuzzyPrefixLength);
|
||||
queryParser.setPhraseSlop(phraseSlop);
|
||||
|
||||
if (escape) {
|
||||
queryString = QueryParser.escape(queryString);
|
||||
}
|
||||
|
||||
try {
|
||||
Query query = queryParser.parse(queryString);
|
||||
query.setBoost(boost);
|
||||
|
|
Loading…
Reference in New Issue