I have seen many posts asking the same question with elaborate examples and most never got answered and got closed by the bot.
With a phrase query like "quick brown f" as in the example on Match phrase prefix query | Elasticsearch Guide [8.4] | Elastic, if you have a large enough data set, the "f" causes no results to be returned. But "fo" will get you the results.
You typically have to set max_expansions to a higher value.
Why is this so?
Shouldn't the prefix "f" still return something if the terms are sorted, and the search starts at the first sorted beginning at "f". The notes at the bottom of the page seem to suggest so, but most of the time, you get zero results.
Is this a bug that was never resolved?