private function loadSpellingType(RequestInterface $request)
{
$cutoffFrequencyLimit = $this->getCutoffrequencyLimit($request);
$termVectors = $this->getTermVectors($request);
$queryTermStats = $this->parseTermVectors($termVectors, $cutoffFrequencyLimit);
$spellingType = self::SPELLING_TYPE_FUZZY;
if ($queryTermStats['total'] == $queryTermStats['stop']) {
$spellingType = self::SPELLING_TYPE_PURE_STOPWORDS;
} elseif ($queryTermStats['total'] == $queryTermStats['stop'] + $queryTermStats['exact']) {
$spellingType = self::SPELLING_TYPE_EXACT;
} elseif ($queryTermStats['missing'] == 0) {
$spellingType = self::SPELLING_TYPE_MOST_EXACT;
} elseif ($queryTermStats['total'] - $queryTermStats['missing'] > 0) {
$spellingType = self::SPELLING_TYPE_MOST_FUZZY;
}
return $spellingType;
}