Or people do some fine tuning of a model or their own and store it someplace (maybe es). In which case you could still be using es to cover filters and range parts of the queries and then rerank that result set.
Not covered the ops and scalability benefits you get with elastic / solr / open search which is also very important if you’ve non trivial usage