Боюсь, что вы, вероятно, застряли. Если вы выполните свои термины через ts_debug, вы увидите, что «quick.brown» анализируется как имя хоста, а «quick / brown» - как путь к файловой системе. Парсер действительно не такой умный, к сожалению.
Мое единственное предложение - предварительно обработать текст, чтобы преобразовать эти токены в пробелы. Вы можете легко создать функцию в plpgsql для этого.
nicg=# select ts_debug('the quick.brown fox');
ts_debug
---------------------------------------------------------------------
(asciiword,"Word, all ASCII",the,{english_stem},english_stem,{})
(blank,"Space symbols"," ",{},,)
(host,Host,quick.brown,{simple},simple,{quick.brown})
(blank,"Space symbols"," ",{},,)
(asciiword,"Word, all ASCII",fox,{english_stem},english_stem,{fox})
(5 rows)
Как видно из вышесказанного, вы не получите жетоны для быстрых и коричневых