public static function search()

in src/GuidesIndex.php [45:86]


  public static function search(string $term): vec<SearchResult> {
    $results = vec[];

    $index = self::getIndex();
    foreach ($index as $product => $value) {
      foreach ($value as $guide => $entry) {
        foreach ($entry as $page => $filepath) {
          $name = Guides::normalizeName($product, $guide, $page);
          $score = SearchTermMatcher::matchTerm($name, $term);
          if ($score !== null) {
            if ($page === 'introduction') {
              $score *= SearchScores::GUIDE_INTRODUCTION_MULTIPLIER;
            }
            $results[] = new GuidePageSearchResult(
              $product,
              $guide,
              $page,
              $score,
            );
            continue;
          }
          $content = \file_get_contents(BuildPaths::GUIDES_HTML.'/'.$filepath);
          if ($content === false) {
            continue;
          }
          $content = \html_entity_decode(\strip_tags($content));
          $score = SearchTermMatcher::matchTerm($content, $term);
          if ($score === null) {
            continue;
          }
          $results[] = new GuidePageSearchResult(
            $product,
            $guide,
            $page,
            $score * SearchScores::CONTENT_MATCH_MULTIPLIER,
          );
        }
      }
    }

    return $results;
  }