in src/APIIndex.php [112:153]
private function searchEntries(
string $term,
APIDefinitionType $type,
): vec<SearchResult> {
$results = vec[];
$entries = $this->getIndexForType($type);
foreach ($entries as $_ => $entry) {
$name = $entry['name'];
$score = SearchTermMatcher::matchTerm($name, $term);
if ($score !== null) {
$results[] = new APISearchResult(
$this->product,
$type,
$name,
$entry['urlPath'],
$score,
);
}
$methods = $this->getMethods($entry);
if ($methods === null) {
continue;
}
foreach ($methods as $method) {
$name = $entry['name'].'::'.$method['name'];
$score = SearchTermMatcher::matchTerm($name, $term);
if ($score !== null) {
$results[] = new APISearchResult(
$this->product,
APIDefinitionType::FUNCTION_DEF,
$name,
$method['urlPath'],
$score,
);
}
}
}
return $results;
}