protected static function matchFullTerm()

in src/search/SearchTermMatcher.php [120:156]


  protected static function matchFullTerm(
    string $content,
    string $term,
  ): ?float {
    if (Str\length($term) === 0) {
      return null;
    }

    if ($term === $content) {
      return SearchScores::EXACT_MATCH_SCORE;
    }

    if (Str\contains($term, ' ')) {
      return null;
    }

    $multi = 1.0;
    if (Str\length($term) < 3 || Str\length($content) < 3) {
      $multi = SearchScores::SHORT_MATCH_MULTIPLIER;
    }

    if (Str\starts_with($content, $term)) {
      return SearchScores::PREFIX_MATCH_SCORE * $multi;
    }
    if (Str\ends_with($content, $term)) {
      return SearchScores::SUFFIX_MATCH_SCORE * $multi;
    }
    if (C\contains(Str\split($content, ' '), $term)) {
      return SearchScores::WORD_MATCH_SCORE * $multi;
    }

    if (Str\contains($content, $term)) {
      return SearchScores::SUBSTRING_MATCH_SCORE * $multi;
    }

    return null;
  }