Ricerca vs Motore di Ricerca: il Campo di Input Non è il Motore
Una Search Box è un componente dell'interfaccia utente — un campo <input type="search"> o un campo di testo stilizzato — che accetta una stringa di query. Non è un motore di ricerca.
Ruoli
| Componente | Responsabilità |
|---|---|
| Search Box (Frontend) | Acquisisce la query, fornisce completamento automatico/suggerimenti, invia all'endpoint. |
| Motore di Ricerca (Backend) | Esegue scansione, indicizzazione, posizionamento, recupero e restituzione dei risultati (Google, Bing, Elasticsearch, Algolia, Meilisearch). |
Flusso Tipico
- L'utente digita nella Search Box.
- Il client invia
GET /search?q=…oPOST /api/search. - Il Motore di Ricerca elabora la query → restituisce risultati classificati (JSON/HTML).
- Il frontend renderizza i risultati.
Migliorie Comuni per la Search Box
- Autocompletamento (corrispondenza per prefisso dall'indice).
- Risultati istantanei (AJAX con debounce).
- Facet e filtri (categoria, data, prezzo).
- Input vocale (
x-webkit-speech/ Web Speech API). - Ricerche recenti, tendenze, ricerca mirata (sito, repository, documentazione).
Opzioni di Implementazione
- Hosted: Algolia DocSearch, Google Programmable Search, Azure Cognitive Search.
- Self-Hosted: Elasticsearch + Search UI, Meilisearch + Meilisearch UI, Typesense.
- Sito Statico: Lunr.js, FlexSearch, Pagefind (indice lato client).
La search box è la domanda; il motore di ricerca è la macchina delle risposte. Non confondere l'interfaccia con l'infrastruttura.