(from github.com/marevol)
Since some of them are a query operator, Fess cannot decide whether it should be escaped.
So it’s difficult to do that… but any idea is welcome.
What is escaping is done, if the query does not contain valid field name or sort parameter followed by semicolon? Kinda limited escaping.
If the query does not contain a field name with semicolon, then those “problematic” characters are escaped, which causes invalid query error.
and ? would still act as wildcards.
This may not cover all cases, but if this escaping would be optional?
You could turn it on, and accept that not all special queries are not working any more.