Troubleshooting: Unable to search using special characters

Services using the V9.1 Query API must check the search phrase for special characters before passing it to the API. Failure to do so can cause a the search to fail.

Problem

When you pass a query string that contains special characters to the Query API, it is interpreted by the Spring Boot REST Handler. The Query API is fed by the Spring Boot Handler. The Handler does not recognize special characters unless they have been escaped. Therefore, a search string containing such characters will not be successfully passed to the Query API.

Solution

Ensure that any service that constructs search strings or passes them to the Query API scans the string for special characters. If any are found, replace them with their escaped equivalent before passing the string to the API. It is useful to bear in mind that you are actually passing the string to the Spring Boot REST Handler, and therefore any limitations of that Handler apply; in this case, its inability to process unescaped special characters.