У меня есть базовый cfsearch, который отлично работает, но иногда его можно сломать строками поиска, подобными следующим;
моя строка поиска]
"моя строка поиска
моя строка поиска[
мой поиск: строка
Любое из вышеперечисленного приведет к ошибке, например;
Ошибка при выполнении запроса: org.apache.lucene.queryParser.ParseException: невозможно проанализировать «мою строку поиска»: лексическая ошибка в строке 1, столбце 32. Обнаружено: после: «\»моя строка поиска»
Я думал, что могу убрать эти символы, но у вас может быть рабочий поисковый запрос, скажем, с двумя "" - т.е. "моя строка поиска" - это действительно так. Есть ли предпочтительный способ подготовить строку для cfsearch?
Итак, на примере:
"моя строка поиска
это удалит первый ". Но если бы поисковый запрос был:
"моя строка поиска"
все хорошо - оставь это в покое. Любые идеи?! Есть ли другие символы, которые могут вызвать ошибку? Например, хакер попробовал это;
XyOk,'.](.]]]'
Что вызвало ошибку.
+ - && || ! ( ) { } [ ] ^ " ~ * ? : \ /
см. lucene.apache.org/core/4_0_0/queryparser/org/apache/lucene/ - person John Whish   schedule 08.01.2016