Module

docs.search

Simple keyword search over documentation pages.

No external dependencies. Ranks results by weighted keyword frequency: title matches score higher than body matches.

Functions

keyword_search 2 tuple[DocPage, ...]
Return pages matching *query*, ranked by relevance. Matching is case-insensiti…
def keyword_search(pages: tuple[DocPage, ...], query: str) -> tuple[DocPage, ...]

Return pages matching query, ranked by relevance.

Matching is case-insensitive. Each whitespace-separated token in query is searched independently — a page must contain all tokens to match (AND semantics).

Ranking: each token occurrence in the title scores 3 points, each occurrence in the raw body scores 1 point.

Parameters
Name Type Description
pages tuple[DocPage, ...]
query str
Returns
tuple[DocPage, ...]