Skip to content

How search ranks results

Linkgarden’s search is not a filter, it is a ranking. Every bookmark, folder, and tag is scored against what you typed, and the ones that score at all are shown best-first within their group.

A bookmark is scored by the first of these that matches:

Tier Match
Best Your text is a prefix of the bookmark’s displayed title
The name contains your text anywhere
The address contains your text anywhere
The notes contain your text anywhere
Last A fuzzy match against the displayed title

Folders and tags are scored the same way against their names, minus the address and notes tiers, and minus nothing else.

This ordering is what makes typing swi put Swift Evolution above a bookmark that merely mentions “swi” in a paragraph of notes. Where you matched is a better signal than whether you matched.

Ties are broken by the underlying order — newest first for bookmarks — so results never shuffle unpredictably between keystrokes.

The displayed title of a bookmark is its name, or its address if it has no name. A prefix match on that is the strongest evidence you know what you are looking for and are typing it out. A contains-match anywhere in the name is weaker; a match buried in a long note is weaker still, and often incidental.

Comparison ignores case, accents, and full-width/half-width variants throughout, so cafe finds Café and CAFÉ finds cafe.

If nothing matched literally, Linkgarden tries again with a typo allowance.

Your query is split into words, and each word gets its own budget of allowed edits based on how long it is:

Word length Edits allowed
1–2 characters 0
3–5 characters 1
6–8 characters 2
9 or more 3

Longer words get more slack because a longer word is more likely to be mistyped and less likely to collide with something unrelated. Very short words get none at all — one edit away from to is half the dictionary.

An edit is an insertion, a deletion, a substitution, or two adjacent characters swapped. That last one matters: teh for the is one of the most common typing mistakes there is, and treating it as a single edit rather than two is what keeps it inside a short word’s budget.

Each query word is matched against the start of some word in the title, not against the whole thing, so evol still finds Evolution.

Every query word must find a match somewhere in the title. Typing two words narrows the results; it does not widen them. The closer the overall match, the higher it ranks.

  • Bookmarks in Recently Deleted. Search only looks at your live library.
  • The notes on folders and tags — they do not have any.
  • Folder and tag names when scoring a bookmark. A bookmark filed under Reading is not found by typing reading; the folder is found instead, and clicking it takes you to its bookmarks.

The list and grid views let you choose an order, because in those views you are browsing and the order is the structure. In search, the order is the answer — re-sorting the results alphabetically would throw away the ranking you asked for.