Migliorare la ricerca Elasticsearch in un ecommerce
Come aiutare l’utente a trovare rapidamente ciò che ricerca grazie a Elasticsearch
La barra di ricerca ha un grande impatto sui visitatori, è un vero e proprio strumento di vendita. Molto spesso un ecommerce ha una lunga lista di categorie e sottocategorie, tra le quali è facile perdersi.
In più diventa indispensabile quando le ricerche vengono effettuate da mobile, in cui il modo più rapido per trovare ciò che si desidera è il box di ricerca.
Noi di IMPRIMIS ci siamo occupati in prima persona dell’implementazione custom dei motori di ricerca per alcuni nostri clienti, e oggi Michele, un nostro Full stack developer, risponderà ad alcune domande che spesso ci fanno i nostri clienti.
Vediamo i consigli del nostro esperto per migliorare la ricerca.
Come implementare su un sito web un motore di ricerca interno
- Come funziona il motore Elasticsearch e quale tecnologia si utilizza? Elasticsearch è un motore di ricerca open source distribuito basato su una libreria Java, Apache Lucene, che fornisce funzionalità di ricerca e indicizzazione molto performanti su tutti i tipi di dati.
È basato sul concetto di indici, cioè collezioni di documenti in formato JSON collegati tra loro. Ogni documento è caratterizzato da un insieme di chiavi in cui vengono definiti campi o proprietà, con i rispettivi valori.
La struttura di dati che consente di eseguire ricerche full-text in maniera estremamente veloce è chiamata “inverted index”. Tramite questa tecnologia, viene creata una lista per ogni singola parola contenuta nei documenti dell’indice, dove vengono definiti tutti i documenti per cui quella parola è stata utilizzata. Al momento della memorizzazione dei dati viene quindi creato anche l’indice invertito. L’interazione con il motore di ricerca avviene tramite la tecnologia REST API.
- Quali sono i tempi di risposta?
- Come si implementa, quali sono le difficoltà?
- la memorizzazione dei dati
- la ricerca delle informazioni all’interno dell’indice.
I tempi di risposta sono estremamente veloci anche per un’ampia mole di dati. Generalmente di molto inferiore al secondo.
L’implementazione di Elasticsearch è molto versatile. Per rendere ottimale la ricerca da parte dell’utente, all’interno di un ecommerce è necessario analizzare quali sono le corrette informazioni che vanno inserite nell’indice e la loro rappresentazione. L’implementazione può essere divisa in due fasi:
La difficoltà principale che si può riscontrare è la definizione delle proprietà e delle caratteristiche che sono alla base dei documenti, in quanto un’errata definizione di queste informazioni può portare alla creazione dell’indice invertito inesatto con conseguente difficoltà nel recuperare i dati desiderati.
Elasticsearch e server
- La ricerca elasticsearch può influire negativamente sulle risorse del server?
Se si implementa utilizzando il servizio Elasticsearch Service disponibile su Amazon Web Services (AWS), Google Cloud e Alibaba Cloud, le risorse del server del sito non vengono influenzate, ma le prestazioni potrebbero essere inferiori rispetto ad un’installazione on-premises.
Implementando invece Elasticsearch nel server su cui è ospitato il sito, avremo sicuramente prestazioni migliori ma va considerato che influisce, anche se in maniera minima, sulle risorse del sistema.
Elasticsearch: plugin o realizzazione custom?
- Sono presenti diversi plugin sul mercato. Cosa è meglio scegliere?
- permette di non sostenere costi mensili
- le possibilità di customizzazione sono praticamente infinite
- consente di raffinare i risultati di ricerca ottenuti cucendoli proprio attorno alle reali esigenze del sito.
- Come funziona la manutenzione, va aggiornata?
Occorre considerare, anche nel caso di un CMS come PrestaShop o Magento, che spesso occorrono personalizzazioni.
Inoltre se si hanno numerose visite mensili e tanti prodotti a catalogo, i costi dei plugin possono variare fino a centinaia di euro al mese.
Io consiglio un’implementazione custom, in quanto:
Dato che è una tecnologia in continuo sviluppo va aggiornata per poter usufruire delle nuove funzionalità messe a disposizione dalla community.
Gestire i sinonimi e la funzione di autocompletamento
- La ricerca avviene sulla base di categorie, sottocategorie e filtri o solo prodotti?
- Se digito “auricolari” come si gestisce la visualizzazione dei prodotti “cuffie” e viceversa?
- Come si attiva l’autocompletamento per facilitare l’individuazione dei prodotti?
Elasticsearch ci consente di gestire in maniera completamente customizzata i risultati di ricerca, sia basandosi su categorie e sottocategorie, sia definendo specifici set di prodotti che magari vogliono essere messi in evidenza rispetto ad altri.
Abbiamo inoltre la possibilità di definire l’importanza di ciascun prodotto sulla base delle sue caratteristiche, garantendo una sorta di ordinamento per rilevanza per promuovere ad esempio, alcuni specifici prodotti.
Con il motore Elasticsearch è possibile gestire singolari, plurali e sinonimi, fornendo al motore una lista di valori, utile anche per correggere anche errori di battitura e ortografia.
La funzione di auto-completamento è disponibile utilizzando ulteriori strumenti a supporto dell’Elasticsearch.
Elasticsearch: analizzare i risultati della ricerca
L’Elasticsearch oltre ad aiutare i nostri utenti a ricercare rapidamente i prodotti permette anche di attivare alcune strategie per ottimizzare la user experience del tuo ecommerce.
Integrando infatti la ricerca con Google Analytics è possibile analizzare i prodotti più ricercati per migliorare i percorsi di conversione, le schede dei prodotti più visitati e rendere più visibili nel sito le categorie più performanti.
Monitorare i risultati di ricerca con Google Analytics
Per attivare i risultati di ricerca su Google Analytics, seleziona Amministratore, clicca Impostazioni Viste e attiva il Monitoraggio ricerca su sito sostando il tasto su “ON”.
Nel campo Parametro di ricerca, inserisci la lettera che identifica il parametro di ricerca interna.
Puoi attivare anche l’analisi della Categorie se il tuo ecommerce permette di perfezionare le ricerche.
Dopo aver cliccato su Salva, aprendo il rapporto Comportamento, Ricerca su sito potrai visualizzare i prodotti che ricercano maggiormente i tuoi visitatori.
I dati possono essere utilizzati per creare report a scopo di marketing e gestione aziendale oppure per personalizzare il listing dei risultati di ricerca o rendere più visibili alcuni prodotti in base alla tua strategia di business.
Rendi la tua ricerca performante grazie al motore Elasticsearch: farai diminuire il tasso di abbandono e faciliterai la navigazione dei tuoi clienti nel tuo ecommerce.