Skip to content

NGramTokenFilter ​

Generates n-grams from tokens at the token level (after tokenization).

Import ​

typescript
import NGramTokenFilter from 'dynamosearch/filters/NGramTokenFilter';

Constructor ​

typescript
new NGramTokenFilter(options?: { minGram?: number; maxGram?: number })

Parameters ​

  • minGram (number, optional) - Minimum n-gram size (default: 1)
  • maxGram (number, optional) - Maximum n-gram size (default: 2)

Example ​

typescript
const filter = new NGramTokenFilter({ minGram: 2, maxGram: 3 });
const tokens = filter.apply([
  { token: 'hello', startOffset: 0, endOffset: 5, position: 0 },
]);
// Generates n-grams: he, el, ll, lo, hel, ell, llo

Best For ​

  • Partial token matching
  • Autocomplete
  • Fuzzy search

See Also ​

Released under the MIT License.