Extension:CirrusSearch/CompletionSuggester
The Completion Suggester is the default option for search-as-you-type suggestions. It was initially designed to provide a more fluent user experience.
Features
Better search result ranking
The completion suggester features a totally new method for ranking search results. In general, you should see more relevant search results for your queries, with the effect being particularly pronounced for shorter queries. The new method also incorporates page views into the rankings, so that pages which are viewed more often are ranked slightly higher than pages which are viewed less frequently.
Tolerance for typos and stop words
The completion suggester is tolerant to small typos. This includes the following types of typos:
- 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)
Default algorithm | Completion Suggester |
---|---|
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.
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.
Ranking criteria
The system is using a combination of multiple factors to rank the suggestions:
- quality based metrics
- the page size
- the number of sections
- the number of external links
- the number of redirects
- the number of incoming links
- the set of template boosts if configured
- popularity based metrics with the number of weekly pageviews
if you are curious to know how the score is computed for a particular page please see the cirruscompsuggestbuilddoc action API property, for example see an explanation of how the w:Algorithm page is constructed and scored by the completion suggester: cirruscompsuggestbuilddoc on en:Algorithm (note the score_explanation section).
Preferences
The completion suggester feature has a preference tab in Special:Preferences to configure the search-as-you-type suggestions.
Completion suggester
- ⧼cirrussearch-completion-profile-fuzzy-pref-name⧽
- ⧼cirrussearch-completion-profile-fuzzy-pref-desc⧽
- ⧼cirrussearch-completion-profile-fuzzy-subphrases-pref-name⧽
- ⧼cirrussearch-completion-profile-fuzzy-subphrases-pref-desc⧽
- ⧼cirrussearch-completion-profile-strict-pref-name⧽
- ⧼cirrussearch-completion-profile-strict-pref-desc⧽
- ⧼cirrussearch-completion-profile-normal-pref-name⧽
- ⧼cirrussearch-completion-profile-normal-pref-desc⧽
- ⧼cirrussearch-completion-profile-normal-subphrases-pref-name⧽
- ⧼cirrussearch-completion-profile-normal-subphrases-pref-desc⧽
Prefix search
The legacy search-as-you-type suggestion algorithm.
- ⧼cirrussearch-completion-profile-classic-pref-name⧽
- ⧼cirrussearch-completion-profile-classic-pref-desc⧽
Limitations
- 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.