Extension:CirrusSearch/CompletionSuggester

The Completion Suggester is a new experimental algorithm suited for search-as-you-type suggestions. It was initially designed to provide a more fluent user experience.

Tolerance for typos and stop words
The completion suggester is tolerant to small typos. This includes the following types of typos: The completion suggester is also tolerant to stop words. If the user forgot to type a leading article like The the suggestions will get displayed. Searching for lord rings will properly suggest all pages related to The Lord of the Rings.
 * Up to two typos in the word
 * Typos at the beginning of the word if the user typed more than 3 letters
 * Missing or extra spaces are considered as a typo
 * If the page has redirects with very common typos it will cover more typos (e.g. alber ensten will properly suggest Albert Einstein even if there's more than two typos)

Fewer typos suggested
Redirects with typos are sometimes added to popular pages and the default suggestion algorithm will simply display the redirect as is. The Completion Suggester will attempt to display the proper title if the redirect is close enough. Searching for Airton Senna will properly suggest Ayrton Senna. This is useful to avoid displaying obviously wrong redirects like Unietd States.

Limitations
A small tool to compare the completion suggester and the default suggestion algorithm is available in labs.
 * The completion suggester is enabled only for the main namespace. Searching with a namespace prefix will disable the Completion Suggester and fallback to the default algorithm.
 * The algorithm used to rank suggestions is still under development.