Elasticsearch Search & Faceted Navigation. Questo modulo sostituisce la lenta ricerca SQL di PrestaShop con un vero motore di ricerca, Elasticsearch, OpenSearch o Meilisearch, e aggiunge una navigazione a faccette moderna e completamente configurabile. I clienti ottengono un autocompletamento istantaneo con miniature e prezzi, risultati tolleranti ai refusi e un’esperienza “Filtri” pulita in un pannello filtri modale moderno. I prezzi sono sempre quelli nativi ed esatti per ogni gruppo cliente e valuta. Puoi installarlo e usarlo subito con la ricerca nativa di PrestaShop, e collegare un motore di ricerca quando sei pronto.

Questo modulo sostituisce la lenta ricerca SQL di PrestaShop con un vero motore di ricerca, Elasticsearch, OpenSearch o Meilisearch: e aggiunge una navigazione a faccette moderna e completamente configurabile. I clienti ottengono un autocompletamento istantaneo con miniature e prezzi, risultati tolleranti ai refusi e un’esperienza “Filtri” pulita in un pannello filtri modale moderno. I prezzi sono sempre quelli nativi ed esatti per ogni gruppo cliente e valuta. Puoi installarlo e usarlo subito con la ricerca nativa di PrestaShop, e collegare un motore di ricerca quando sei pronto.

1. Installazione

  1. Nel back office vai su Moduli → Gestione moduli → Carica un modulo e seleziona lo ZIP del modulo.
  2. A installazione completata, clicca Configura per aprire la dashboard del modulo.
  3. Il modulo si installa di default in modalità motore “None”, quindi la ricerca continua a funzionare con il motore nativo di PrestaShop fin dal primo minuto, nulla da configurare per andare online.
Gli aggiornamenti sono automatici. Gli aggiornamenti sono inclusi. I domini di sviluppo (.local, .test, localhost) sono sempre consentiti. Quando è disponibile una nuova versione, viene mostrata direttamente nel modulo.

2. Scelta del motore di ricerca

Apri la scheda Connessioni e scegli il tuo Motore. Tutto il resto del modulo dialoga con il motore tramite un’unica astrazione, quindi la vetrina si comporta allo stesso modo qualunque backend tu scelga.

Opzioni del motore

  • None (nativo): nessun motore esterno. Il modulo usa la ricerca integrata di PrestaShop. Usala per installare subito e collegare un motore in seguito; lo store non resta mai senza una ricerca funzionante.
  • Elasticsearch: il predefinito. Supporta le versioni major 6, 7, 8 e 9 con rilevamento automatico della versione.
  • OpenSearch: rilevato automaticamente e gestito come un cluster moderno senza tipi, a prescindere dalla versione 1.x/2.x/3.x.
  • Meilisearch: un’alternativa leggera e facile da ospitare; i tuoi campi ricercabili, faccette, sinonimi, stop-word e tolleranza ai refusi vengono mappati automaticamente su Meilisearch.

Impostazioni di connessione

  • Host: l’URL completo del tuo motore (può includere un prefisso di percorso, es. https://cluster.provider.com/my-space).
  • Base path: un prefisso di percorso opzionale anteposto a ogni richiesta, per spazi di ricerca noleggiati su istanze condivise.
  • Prefisso indice: un namespace che isola i tuoi indici, così più store possono condividere in sicurezza un unico motore.
  • Autenticazione: per Elasticsearch/OpenSearch: HTTP Basic o API key; per Meilisearch: una chiave Bearer master o con ambito.
  • Test connessione: verifica che il motore sia raggiungibile e ne riporta la versione rilevata.
Scheda Connessioni
Connessioni: scegli il motore (compreso “None”), aggiungi uno o più server, testa la connessione e imposta un prefisso indice
Reindicizza dopo aver cambiato motore (o dopo aver modificato le impostazioni dell’analizzatore). Il back office ti ricorda quando è necessaria una reindicizzazione. Finché il nuovo motore non è indicizzato, il fallback automatico continua a fornire risultati.

3. Comportamento della ricerca

Presa in carico della ricerca del sito

Attiva Prendi in carico la ricerca del sito affinché ogni ricerca e listato di categoria sia servito dal motore tramite il provider prodotti nativo di PrestaShop, senza modifiche al tema. Se il motore diventa irraggiungibile, il modulo ricade automaticamente sulla ricerca nativa, così lo store non mostra mai un errore. Se ps_facetedsearch è ancora attivo, il back office ti avvisa, poiché di norma è meglio tenere attivo un solo modulo a faccette.

Rilevanza e tuning

Il pannello delle impostazioni di ricerca ti permette di modellare la rilevanza senza toccare codice:

  • Pesi dei campi: quanto contano nome, riferimento, descrizione, ecc. nel punteggio.
  • Tipo di match e operatore: la strategia multi_match e se le parole si combinano con AND o OR.
  • Fuzziness e minimum-should-match: quanto è tollerante ai refusi e quante parole devono corrispondere.
  • Lunghezza minima parola e l’ambito dei campi ricercabili per tipo di documento.
  • Analisi linguistica: sinonimi, stop-word, stemmer per lingua (con eccezioni), elisione, minuscolo e match infisso (n-gram) per le parole parziali.
Scheda Impostazioni di ricerca
Impostazioni di ricerca: interruttori principali, filtri dell’analizzatore (sinonimi, stop-word, stemmer) e tuning della query

4. Navigazione a faccette

La navigazione a faccette è un’esperienza moderna in AJAX, senza ricaricamenti di pagina, con una modalità sidebar classica disponibile in alternativa (opzione Facet UI: modal o sidebar).

Il pannello filtri modale moderno

  • Sopra la griglia prodotti si trovano un pulsante “Filtri”, il conteggio risultati in tempo reale e i chip rimovibili per ogni valore applicato (“Cancella tutto” li rimuove tutti).
  • Cliccando Filtri si apre un modal a due riquadri: i nomi dei filtri a sinistra (con un badge quando un filtro è in uso), i valori del filtro selezionato a destra e un pulsante “Mostra N risultati” in tempo reale nel footer.
  • I filtri con molti valori sono raggruppati A→Z con una casella “cerca in questo filtro”; i colori sono resi come swatch; il prezzo mostra campi min/max più uno slider a doppio cursore.
  • Su mobile il modal è a tutto schermo: tocca un nome di filtro per accedere ai suoi valori, usa la freccia indietro per tornare e conferma con la barra fissa in basso “Mostra N risultati”.
  • Tutto si aggiorna via AJAX con URL condivisibili (avanti/indietro funzionano) ed è presente un fallback senza JavaScript, perché ogni controllo è un vero controllo di form.

Configurazione di ogni faccetta

Per ogni faccetta puoi controllare: on/off, ordine, etichetta per lingua, tipo di visualizzazione (checkbox, radio, dropdown, swatch colore, slider prezzo, valutazione a stelle o lista ricercabile), modalità AND/OR, se mostrare i conteggi, lo stato collassato, un limite di valori con “mostra altri” e nascondi se vuota. Sorgenti disponibili: categorie, brand, caratteristiche, attributi, prezzo, disponibilità, novità, offerta e condizione. Le faccette possono essere mostrate anche nella pagina dei risultati di ricerca, non solo nelle categorie.

Scheda Faccette
Faccette: abilita, ordina, etichetta e imposta lo stile di ogni filtro (checkbox, swatch, slider prezzo, stelle…) con AND/OR, conteggi e limiti

Template di filtri per categoria Filtri Pro

Un template di filtri è una configurazione di faccette riutilizzabile e con nome, che puoi assegnare a una o più categorie, così categorie diverse possono esporre un insieme di filtri diverso e riordinato. Nella scheda Template di filtri crei un template con lo stesso editor di faccette della configurazione globale, più un albero di categorie e un’opzione “applica anche alle sottocategorie”. La configurazione Faccette globale è il Template predefinito: il fallback per ogni categoria senza un template proprio, e per la pagina di ricerca.

Scheda Template di filtri
Template di filtri: assegna un insieme di filtri diverso e riordinato a categorie specifiche; la riga Default è il fallback globale

5. Autocompletamento

Mentre il cliente digita, il modulo suggerisce prodotti, categorie, brand e pagine CMS: ciascuno etichettato per tipo, con miniature prodotto e il prezzo nativo corretto, e tollerante ai refusi, così i piccoli errori corrispondono comunque. Sono disponibili due presentazioni (opzione Stile autocomplete in Output):

  • Tendina: un pannello di suggerimenti che si apre sotto la barra di ricerca. Lo stile classico e compatto.
  • Overlay di ricerca a tutto schermo: una grande barra di ricerca fissa con risultati a tutto schermo, per un’esperienza audace e centrata sulla ricerca.
Scheda Output
Output: opzioni di risultati e listato, campi della scheda prodotto e stile autocomplete (tendina o overlay a tutto schermo)

6. Prezzi corretti

Prezzi corretti per gruppo e valuta

Il prezzo che il cliente vede è sempre il prezzo nativo di PrestaShop. I prezzi sono indicizzati per gruppo cliente × valuta, tengono conto degli specific_price e dell’IVA per paese, e il valore giusto è scelto al momento della query. Questo significa che la faccetta prezzo e l’ordinamento per prezzo opzionali sono accurati per ogni cliente, un gruppo all’ingrosso e uno al dettaglio vedono e ordinano ciascuno secondo i propri prezzi.

Prezzi personali per il B2B Avanzate

Nella scheda Opzioni avanzate puoi abilitare i prezzi personali. Per i clienti B2B che hanno un listino individuale (uno specific_price assegnato al cliente), l’ordinamento e il filtro per prezzo possono usare il loro prezzo personale esatto anziché quello di gruppo. Un tetto configurabile (fisso, oppure automatico in base allo spazio libero su disco del motore) limita per quanti clienti questo viene precalcolato, e a quei clienti si può mostrare un messaggio opzionale per lingua.

Scheda Opzioni avanzate
Opzioni avanzate: abilita i prezzi personali (per cliente) per l’ordinamento e il filtro B2B, con un tetto configurabile

7. Pagine filtrate SEO

Le infinite combinazioni di filtri inonderebbero Google, quindi di default ogni URL filtrato è servito come noindex,follow. La scheda Pagine filtrate SEO ti permette di fare l’inverso per le combinazioni che contano: metti in whitelist una selezione specifica (ad esempio categoria + brand + colore) come landing page indicizzabile con meta title, meta description, H1 e testo introduttivo personalizzati per lingua.

  • Una pagina corrispondente viene forzata a index e dotata di un canonical auto-referenziante verso l’URL filtrato, così può realmente posizionarsi.
  • Il tuo H1 e l’introduzione personalizzati vengono mostrati sopra il listato prodotti.
  • Tutte le altre combinazioni filtrate restano noindex,follow.
  • La lista nel back office mostra l’URL live di ogni pagina, pronto da inviare o linkare.
Scheda Pagine filtrate SEO
Pagine filtrate SEO: metti in whitelist una combinazione di filtri come landing page indicizzabile con title, description, H1 e intro personalizzati
Se un altro modulo SEO emette anch’esso un canonical sugli URL filtrati, potrebbero comparire entrambi. Disattiva il canonical di quel modulo per i listati filtrati così resta solo il nostro (l’URL self corretto).

8. Analisi delle ricerche

La scheda Analisi delle ricerche mostra cosa cercano davvero i clienti, registrato dalle reali pagine di risultati, mai dalle battute dell’autocomplete, e memorizzando solo il testo della query (nessun dato personale). Scegli un intervallo di date (ultimi 7 / 30 / 90 giorni) e vedi i KPI (ricerche totali, query uniche, conteggio e % di risultati zero), una tabella Ricerche più frequenti e, la più utile, una tabella Ricerche senza risultati: le ricerche che non hanno trovato nulla, cioè vendite perse. Ogni riga senza risultati ha una scorciatoia “Aggiungi sinonimo” con un clic per correggerla subito. Il logging si può disattivare e le righe vecchie vengono eliminate automaticamente dopo un periodo di conservazione configurabile.

Scheda Analisi delle ricerche
Analisi delle ricerche: KPI, Ricerche più frequenti e la tabella Ricerche senza risultati con la scorciatoia “Aggiungi sinonimo”

9. Reindicizzazione e cron

Il motore ha bisogno di un indice del tuo catalogo. Il modulo indicizza prodotti, categorie, brand e pagine CMS, ciascuno nel proprio indice, e li mantiene aggiornati in tempo reale quando salvi, aggiungi o elimini prodotti e quando cambiano le giacenze.

  • Assistente di reindicizzazione: una reindicizzazione guidata, a batch e ripristinabile con barra di avanzamento. Eseguila dopo la prima connessione del motore, dopo un cambio di motore o dopo aver modificato le impostazioni dell’analizzatore.
  • URL cron: un URL protetto da token che puoi richiamare da un’attività pianificata (o da CLI) per mantenere l’indice aggiornato automaticamente; elimina anche le vecchie righe di analytics.
  • Elimina dati indicizzati: svuota gli indici del motore quando vuoi una ricostruzione pulita.
Scheda Documenti
Documenti: scegli quali tipi di documento indicizzare (prodotti, categorie, brand, CMS) e i campi ricercabili per tipo

10. Multistore e hosting condiviso

Multistore

Le impostazioni di connessione e motore sono per shop. In un contesto “tutti gli shop” vengono salvate globalmente; in un contesto single-shop vengono salvate per quello shop, con un fallback globale. Questo significa che shop diversi possono puntare a motori o cluster diversi, mentre un’installazione single-shop si comporta esattamente come prima.

Hosting condiviso / spazio di ricerca noleggiato

Non serve un cluster dedicato tutto tuo. Punta l’Host a un endpoint condiviso con un prefisso di percorso, imposta il Base path e un Prefisso indice (namespace), e aggiungi l’API key del provider. Ogni richiesta è circoscritta al tuo prefisso, così i tuoi dati restano isolati su un’istanza condivisa, e funziona allo stesso modo su Elasticsearch, OpenSearch e Meilisearch.

11. FAQ

Mi serve Elasticsearch per iniziare?

No. Il modulo si installa in modalità “None” e usa la ricerca nativa di PrestaShop, quindi sei subito online. Collega Elasticsearch, OpenSearch o Meilisearch quando sei pronto.

Cosa succede se il mio motore di ricerca va giù?

Il modulo ricade automaticamente sulla ricerca nativa, così i clienti possono sempre cercare, lo store non mostra mai un errore.

I prezzi mostrati ai clienti sono corretti?

Sì. Il prezzo visualizzato è sempre il prezzo nativo di PrestaShop. Il motore è usato solo per filtrare e ordinare, usando prezzi indicizzati per gruppo cliente e valuta (e, opzionalmente, il prezzo personale di ogni cliente B2B).

Va in conflitto con ps_facetedsearch?

Di norma è meglio tenere attivo un solo modulo a faccette. Il back office ti avvisa se ps_facetedsearch è ancora attivo, così puoi disattivarlo.

Categorie diverse possono mostrare filtri diversi?

Sì. Crea template di filtri e assegnali alle categorie (includendo opzionalmente le sottocategorie). Le categorie senza template usano quello predefinito globale.

Quale motore dovrei scegliere?

Elasticsearch è il predefinito e il più diffuso. OpenSearch è un equivalente sostituibile. Meilisearch è il più leggero da ospitare e ideale per hosting condiviso o cataloghi più piccoli.

Caricamento in corso ...
Torna all'inizio