There's another aspect which none of the FTS search solutions for Postgres do well in my opinion: multi-language support.

For example this one: it doesn't mention support for CJK languages (meaning tokenization for e.g. Chinese will resolve to one token per character, which will technically work and give results, but is inefficient). Also word stemming (databases -> database) is also missing as far as I can see, so the kind of queries where you'd expect related words to show up will be missing. Just doing case-folding and accent-folding is a bit of a functional but bruteforce solution.

Ideally I'd want something that supports:

- language aware tokenization, with ability to define the language per record. Including stemming, etc. And have useful predefined configuration for common languages (e.g. the Postgres built in one is missing many languages).

- CJK support, tokenizing at word boundaries.

- Optional accent- and case-folding.

Most solutions just seem to assume English content, I have not found anything that does all of this yet.

I have the exact same question. I'm also interested in when languages like CJK will get better support.

https://github.com/postgres/postgres/blob/REL_19_STABLE/src/... I saw that the 19 release includes better support for Chinese. I'm hoping to see FTS keep following up on these features going forward.

pgroonga is the most developed in this space

https://pgroonga.github.io/