lucene-escape-query
Version:
Escape a string for a lucene query. Effectively removes all special characters.
29 lines (26 loc) • 692 B
JavaScript
// special characters via https://lucene.apache.org/core/2_9_4/queryparsersyntax.html#Escaping Special Characters
exports.escape = function escape(str){
return [].map.call(str, function escapeSpecialCharacter(char){
if (char === '+'
|| char === '-'
|| char === '&'
|| char === '|'
|| char === '!'
|| char === '('
|| char === ')'
|| char === '{'
|| char === '}'
|| char === '['
|| char === ']'
|| char === '^'
|| char === '"'
|| char === '~'
|| char === '*'
|| char === '?'
|| char === ':'
|| char === '\\'
) return '\\' + char
else return char
}).join('')
}
;