Site Search
Full-text search across tables, search configuration and customization.
Site Search
The search page type adds a search form with results to the site.
How to Enable
Add a record to the navigation table:
- page_type:
search - url:
search(or any other) - location:
header(or wherever needed)
The search will automatically work at /search (or your chosen url).
What It Searches
The search runs across all tables specified as source_table in active navigation records, plus always the pages table.
From each table, text columns (TEXT, VARCHAR) are selected — excluding system columns: status, slug, url, image, email, phone, password, token, api_key.
Results
- The title is taken from the
title→name→summarycolumn (first one found) - URL is built automatically: for
pages—/{slug}, for dynamic tables —/{nav_url}/{item_slug} - Snippet: 150-200 characters around the first found word
- Highlight:
<mark>...</mark>around the search term - Sorting: by relevance (exact match in title > partial match)
Template
search.html.twig — located in the core (core_lib/front/app/views/). A project can override it by creating its own front/app/views/search.html.twig.
Security
- System tables (
system_settings,navigation,sqlite_sequence,visit_stats) are excluded from search - Passwords, tokens, API keys — columns excluded by name
- Only searches active records (status='active')
- Minimum query length: 2 characters