Global search
One search box over everything the constructor holds — blocks and table rows together.
What it covers
Two kinds of source:
- Blocks — the content of every constructor block;
- Tables — every table whose fields are marked searchable.
A field joins the search when it is marked Searchable on the field. Nothing else is required, and a table with no searchable fields simply does not appear as a source.
Searching one source
Without a source the search runs across blocks and all tables at once. With a source it is limited to that one — which is what you want on a site where one table has a hundred thousand rows and the rest have twenty.
The list of available sources is built from the same marks, so it never offers a source that would return nothing.
Two characters minimum
A query shorter than two characters returns an empty result without touching the database.
This is not a validation message
It answers success with no rows rather than an error, because the search box fires as you type. A single letter across every block on a large site is a table scan that helps nobody.
What it is not
This is the manager's search — it finds content to edit. Site search for visitors is a separate thing: a controller, your own query, your own template. The two have different requirements, and sharing them would mean either exposing unpublished rows to visitors or hiding them from editors.