kGrams method Null safety
- [int k = 3]
Returns a set of k-grams in the term.
Implementation
Set<KGram> kGrams([int k = 3]) {
final Set<KGram> kGrams = {};
if (isNotEmpty) {
// get the opening k-gram
kGrams.add(r'$' + substring(0, length < k ? null : k - 1));
// get the closing k-gram
kGrams.add(length < k ? this : (substring(length - k + 1)) + r'$');
if (length <= k) {
kGrams.add(this);
} else {
for (var i = 0; i <= length - k; i++) {
kGrams.add(substring(i, i + k));
}
}
}
return kGrams;
}