As per looking at your requirement I will try to keep this short and simple.
You need to search documents based on alphanumeric text fields .So the order do not matter much here. Even if the indexes are stored in modngoDB based of char sorting. But for you it does not help much.
Most likely we go for text index or regex index types.
db.reviews.createIndex( { comments: "text" } )
MongoDB provides text indexes to support text search queries on string content. text indexes can include any field whose value is a string or an array of string elements.
You can do the same using a regex on a non text-indexed text field, but it would be much slower.
More about text index
So, Why is a text index, and its subsequent search faster than a regex on a non-indexed text field? It's because text indexes work as a dictionary, a clever one that's capable of discarding words on a per-language basis (defaults to english). When you run a text search query, you run it against the dictionary, saving yourself the time that would otherwise be spent iterating over the whole collection.
Keep in mind that the text index will grow along with your collection, and it can use a lot of space. I learnt this the hard way when using capped collections. There's no way to cap text indexes.
A regular index on a text field, such as
db.reviews.createIndex( { comments: 1 } )
can be useful only if you search for the whole text. It's used for example to look for alphanumeric hashes.
So, From my point It doesn't make any sense to apply this kind of indexes when storing text paragraphs, phrases, etc.