613886068d
User input containing MySQL boolean operators (+, -, (, ), ~, *, ", @) was passed directly to MATCH...AGAINST in BOOLEAN MODE, causing MySQL to parse them as search operators rather than literals. Input like '(test)' or '-keyword' would result in a MySQL syntax error / empty results. Strip boolean mode special chars before building the FULLTEXT term; the raw search string is still used unchanged for the LIKE fallback parts. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>