What is 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
All Swiftype Engines use bigram matching - along with a host of other language analysis models - to ensure that common spelling, spacing, and phrasing variations do not prevent users from finding relevant results for a given query.