If you’re building search experiences with Sitecore Search, you’ve probably worked with analyzers like Partial Match and N-gram.

But what happens when a field is configured with Partial Match or N-gram Analyzer, with a field value like “DigitalExperiencePlatform

Partial Match Analyzer

The Partial Match analyzer does not break words into substrings. It only splits text based on whitespace or clear token boundaries.

Example: “Digital Experience Platform” –> [“Digital”, “Experience”, “Platform“]

However, with “DigitalExperiencePlatform,” there are no spaces, so the entire string becomes a single token.

This means:

  • Searching “Digital” works because it’s the prefix of the token.
  • Searching “Experience” or “Platform” fails because they are substrings, not prefixes.

Partial Match ≠ substring matching
It’s essentially “startsWith” matching on tokens.

N-gram Analyzer

To search within compound words, you need an N-gram analyzer. N-gram analyzers break long strings into smaller overlapping sequences.

For example, if we apply a 3-gram (trigram) analyzer to “DigitalExperiencePlatform“,

It produces overlapping 3-letter chunks like

dig, igi, git, ita, tal, ale, lex, exp, xpe, per, eri, rie, ien, enc, nce, cep, epl, pla, lat, atf, tfo, for, orm

This shows how N-grams allow substring matching anywhere inside the compound value:

  • Searching “Experience” → matches exp, xpe, per, eri, …
  • Searching “Platform” → matches pla, lat, atf, tfo, for, orm
  • Searching “tal” (middle of “Digital”) → matches tal
  • Searching “git” → matches git

N-gram analyzer = substring matching
It’s essentially “contains” matching on tokens.

Summary

Partial Match analyzerprefix match on tokens

  • Works only if the search term matches the start of a word.
  • "Platform" matches "Platform" or "Plat*", but not "form".

N-gram analyzersubstring match on the entire field value

  • Works if the search term appears anywhere inside the string.
  • "form" matches "Platform"
  • "peri" matches "Experience"
  • "git" matches "Digital"

N-gram analyzers provide substring-level matching (similar to ‘contains’ searches), but they also significantly increase the number of tokens generated, which leads to a larger index size. Use them strategically on fields where a substring search is essential.