search mobile facets autocomplete spellcheck crawler rankings weights synonyms analytics engage api customize documentation install setup technology content domains user history info home business cart chart contact email activate analyticsalt analytics autocomplete cart contact content crawling custom documentation domains email engage faceted history info install mobile person querybuilder search setup spellcheck synonyms weights engage_search_term engage_related_content engage_next_results engage_personalized_results engage_recent_results success add arrow-down arrow-left arrow-right arrow-up caret-down caret-left caret-right caret-up check close content conversions-small conversions details edit grid help small-info error live magento minus move photo pin plus preview refresh search settings small-home stat subtract text trash unpin wordpress x alert case_deflection
Search Concepts / Bigram matching

Bigram matching

Bigram matching is a language analysis tool which advanced search engines use to find results for multiple word queries that are similar to but not exactly the same as the text in the searchable index. For example, imagine an ecommerce website with many products that have the phrase "high heels" in the title but no products with "highheels" in the title. A search engine using bigram matching will return "high heel" product results for the query "highheels" even though there is no exact match in the search index.

Bigram matching also handles the case of hyphenated and camel-cased strings, matching "i phone" to the terms "i-phone' (hyphenated) and "iPhone" (camel-cased).

In Swiftype

Swiftype search engines use bigram matching (along with a host of other language analysis models) to ensure that common spelling, spacing, and phrasing variations don't prevent users from finding relevant results for a given query.