export const buildSearchQuery = (input: string) => { const trimmed = input.trim(); if (!trimmed) { return ""; } return trimmed .split(/\s+/) .map((term) => { // Escape special characters for PostgreSQL full-text search // Special characters: & | ! ( ) : * ' " + - ~ const escaped = term.toLowerCase().replace(/[&|!():*'"+~-]/g, "\\$&"); return `${escaped}:*`; }) .join(" & "); };