DunneNote documentation
DocsDunneNoteWorking in DunneNote

Search

Shipped

Full-text search, glob patterns, field qualifiers, and cell-precise results.

Search covers everything in a notebook — page titles, prose, grid cells, column names, captions, image alt text and calendar entries — from a single box.

Type words. Matching is full-text, and a trailing asterisk on the last word acts as a fast prefix search: report* finds report, reports and reporting.

Glob patterns

Where you need shape rather than words, the search box accepts glob patterns:

Pattern Matches
report? report1, reportA — exactly one character
*.pdf anything ending in .pdf
[0-9]* anything starting with a digit
Q[1-4]-2026 Q1-2026 through Q4-2026

Patterns are case-insensitive and match the whole value, not part of it — report? matches a cell containing exactly report1, not one containing report1 of 4. Wrap in * to loosen it: *report?*.

A lone trailing * stays a fast prefix search rather than becoming a glob. Any ?, any [, or an * anywhere but the end makes it a pattern.

Field qualifiers

Restrict a pattern to one kind of field:

Qualifier Searches
title: Page and canvas titles
body: Prose in Rich Text canvases
cell: Cell contents in Spreadsheet and Database grids
column: Column names
caption: Captions
alt: Image alternative text

So cell:[0-9]* finds cells beginning with a digit, and column:*date* finds columns with “date” in the name.

Combining terms

Terms combine with AND, OR and NOT, and compose with filters for tag, canvas kind and scope. A glob term behaves like any other term inside those expressions.

Results reach the exact cell

A hit inside a grid is not reported as “somewhere on this page”. The result row reads cell · <column heading> · row N, and activating it opens the page, scrolls that row into view, and flashes and focuses the exact cell.

This works for plain and full-text hits as well, not only for glob matches.

What is excluded

Hidden datasets are left out of results. When a canvas has been converted into another form and the original hidden, the hidden original does not come back as a phantom duplicate of its replacement.

Limits

Patterns are capped at 1,024 characters. The matcher is linear rather than backtracking, so a pathological pattern cannot be used to hang the application. An unknown field qualifier returns nothing rather than silently searching everything.