What led you to choose the ? operator for the FOLLOWED BY semantics? It doesn't seem a terribly natural choice -- most other things seems to use ? as some sort of wildcard. What about something like "...", so you would do SELECT q @@ to_tsquery('fatal ... error'); and SELECT q @@ (tsquery 'fatal' ... tsquery 'error');
originally was $, but then we change it to ?, we don't remember why. During warming-up this morning we came to other suggestion