As far as open source tools, it appears both ElasticSearch and Vespa use a BM25 algorithm to rank results, possibly with a neural re-ranking algorithm. Is this the best there is? Or have AWS and other services found ways of improving on it?
https://www.elastic.co/blog/practical-bm25-part-2-the-bm25-algorithm-and-its-variables