Something that's missing from this which I'm curious about is how far can't postgres search take you?
That is, what tends to be the "killer feature" that makes teams groan and set up Elasticsearch because you just can't do it in Postgres and your business needs it?
Having dealt with ES, I'd really like to avoid the operational burden if possible, but I wouldn't want to choose an intermediary solution without being able to say, "keep in mind we'll need to budget a 3-mo transition to ES once we need X, Y, or Z".
If your search needs outgrow Postgres' native search engine, you can use Postgres search with an ElasticSearch backend, using Zombo
https://github.com/zombodb/zombodb
It basically gives you a new kind of index (create index .. using zombodb(..) ..)