Come configurare Elasticsearch in Magento 2

Pubblicato: 2022-12-20

Sommario

La piattaforma Magento ha aperto una grande opportunità per gli imprenditori di lanciare i propri negozi con meno limitazioni e maggiore flessibilità. Potrebbero esserci migliaia di prodotti in molte categorie e sottocategorie in un negozio e, di solito, il tempo che i clienti trascorrono alla ricerca dei prodotti tende ad essere breve. Pertanto, il tuo negozio Magento potrebbe subire un calo delle conversioni se non puoi fornire ai clienti un'esperienza di ricerca semplice e utili risultati di ricerca in tempo reale. Questo è il motivo per cui hai bisogno di un potente motore di ricerca e Magento 2 Elasticsearch viene in tuo soccorso.

Cos'è Elasticsearch in Magento 2?

logo-elasticsearch

Secondo Elasticsearch BV, Elasticsearch è un motore di ricerca e analisi distribuito, gratuito e aperto per tutti i tipi di dati, inclusi testuali, numerici, geospaziali, strutturati e non strutturati.

Rilasciato per la prima volta nel 2010, Elasticsearch è costruito su una libreria di ricerca e indicizzazione basata su Java chiamata Apache Lucene. È un motore di ricerca full-text che suggerisce parole chiave correlate e mostra query complete confrontando le parole all'interno del documento o del database. Inoltre, il suo modello distribuito e l'apertura a tutti i tipi di dati lo rendono veloce da cercare e facile da scalare.

A causa di queste capacità, Elasticsearch è stato utilizzato nella ricerca di applicazioni; Ricerca sul sito web; Ricerca aziendale; Logging e analisi dei log; Monitoraggio delle prestazioni delle applicazioni; Analisi e visualizzazione di dati geospaziali; Analisi aziendale, ecc.

A partire da Magento 2.4, Adobe Commerce o Magento richiede che Elasticsearch sia il motore di ricerca del catalogo predefinito. Pertanto, diventa un componente obbligatorio e non può essere disabilitato durante l'installazione di Magento. Elasticsearch offre ai clienti risultati di ricerca più rapidi e pertinenti in tempo reale, il che aumenta il tasso di conversione aziendale. Questo è un enorme vantaggio sia per i clienti che per i proprietari dei negozi Magento 2.

Come funziona Elasticsearch?

Ciò che consente a Elasticsearch di fornire risultati di ricerca così rapidi e affidabili è la sua capacità di indicizzazione, in cui cerca indici anziché esaminare il testo. Un indice elastico è un gruppo di documenti strutturati in modo simile che consente il recupero rapido ed efficiente dei dati e viene utilizzato per archiviare documenti logicamente correlati.

Quando i dati grezzi fluiscono in Elasticsearch da varie fonti, come log, metriche di sistema e applicazioni Web, Elasticsearch li elabora. Quindi indicizza questi dati e, successivamente, gli utenti possono eseguire ricerche complicate sui dati e ricevere riepiloghi dettagliati dei propri dati utilizzando le aggregazioni. (Elastico.co)

struttura elastica di ricerca
Fonte: thirdrocktechkno.com

Alcune delle caratteristiche significative di Elasticsearch:

  • Ricerca rapida del testo
  • Suggerimenti di ricerca
  • Completamento automatico
  • Controllo ortografico/errori di digitazione e rilevamento di parole non significative
  • Registrazione e analisi
  • Ricerca di geolocalizzazione

Vantaggi di Magento 2 Elasticsearch

Ottima esperienza di ricerca

Tempi di risposta lenti e scarsa funzionalità dei motori di ricerca possono portare a frequenze di rimbalzo elevate. Con la rapida generazione dei risultati di Elasticsearch e risultati pertinenti in tempo reale, i clienti non si scoraggeranno e lasceranno il sito.

E grazie al completamento automatico e al suggerimento automatico, i clienti possono risparmiare molto tempo e fatica, oltre a ridurre le query errate.

Inoltre, una cosa irritante che i ricercatori di solito devono affrontare sono gli errori di battitura o di ortografia. Ciò porta i motori di ricerca a non essere in grado di riconoscere le parole chiave e a dare uno stato "nessun risultato trovato". Elasticsearch può trovare le stop word e le frasi che le corrispondono, quindi può comunque fornire risultati correlati e persino renderli più accurati.

Ricerca rapida

Elasticsearch è un potente strumento in grado di recuperare le parole chiave cercate in meno di 10 secondi, molto più velocemente della tipica ricerca basata su SQL. Poiché è costruito su Lucene e utilizza indici invertiti distribuiti, Elasticsearch si comporta eccezionalmente bene nella ricerca full-text. ElasticSearch può catturare tutte le query di ricerca per il set di risultati, in modo che ogni volta che una query di ricerca contiene un filtro memorizzato nella cache, indirizzerà la ricerca del risultato dalla cache. Ciò significa che il tempo che intercorre tra il momento in cui un documento viene indicizzato e il momento in cui diventa ricercabile è relativamente breve, aumentando così la risposta dei risultati della ricerca.

Elevata scalabilità ed enormi volumi di gestione dei dati

Elasticsearch si basa su un'architettura distribuita. La società afferma che "i documenti archiviati in Elasticsearch sono distribuiti su diversi contenitori noti come shard, che vengono duplicati per fornire copie ridondanti dei dati in caso di guasto hardware". Pertanto, la sua natura consente di scalare fino a migliaia di server e gestire enormi volumi di dati.

Inoltre, è costruito in modo da poter procedere con successo su qualsiasi cluster o sistema con numerosi nodi. Di conseguenza, l'espansione da un singolo cluster di piccole dimensioni a uno più grande richiede solo poca preparazione ed è praticamente senza soluzione di continuità.

Senza schemi

Elasticsearch utilizza JSON, che è JavaScript Object Notation. Memorizza documenti JSON con dati di indicizzazione per rilevare la struttura dei dati e renderli ricercabili. Significa che non richiede alcun tipo di definizione dei dati e normalmente utilizza i valori predefiniti per indicizzare i dati, a meno che non venga fornito un tipo di dati specifico. Quando un oggetto con una nuova proprietà viene indicizzato successivamente, le definizioni di mappatura vengono aggiornate automaticamente. Pertanto, è privo di schemi.

Prerequisiti per configurare Elasticsearch

Come componente aggiuntivo richiesto per la piattaforma Magento, Elasticsearch deve essere installato e configurato prima che gli utenti eseguano l'aggiornamento alla versione 2.4.x. Inoltre, gli utenti devono essere consapevoli del fatto che Adobe non supporta più Adobe Commerce 2.3.xe PHP 7.3. Pertanto si consiglia di eseguire l'aggiornamento ad Adobe Commerce 2.4.xe PHP 7.4.x per preservare la conformità PCI.

adobe-commerce-nota-sulle-versioni
Fonte: Adobe Commerce DevDocs

L'attuale sequenza di installazione di Magento 2.4.x richiede agli utenti di installare Elasticsearch insieme a questi requisiti aggiuntivi:

  • Server Web (Apache o Nginx)
  • MySQL
  • PHP

La versione che Magento richiede per tutte le installazioni è Elasticsearch 7.6.x, quindi gli utenti dovrebbero assicurarsi di optare per questa versione. Alcune attuali estensioni Magento 2 Elasticsearch di terze parti possono aiutarti a integrare Elasticsearch nei tuoi negozi Magento.

Facile configurazione di Elasticsearch per il tuo negozio Magento

Qui ti guidiamo attraverso i passaggi per configurare Elasticsearch utilizzando il pannello di amministrazione di Magento 2.

Passaggio 1: configurazione delle opzioni di ricerca Elasticsearch di Magento 2

1. Accedi al tuo pannello di amministrazione di Magento 2 come amministratore.

pannello-admin-magento

2. Fare clic su Negozi. In Impostazioni, scegli Configurazione . Da questa pagina, clicca sulla sezione Catalogo per espanderla.

pannello-di-configurazione-di-magento

3. Scegliere Ricerca catalogo . Qui puoi vedere tutte le versioni del motore di ricerca da selezionare e altre impostazioni generali.

  • Lunghezza minima query : il numero minimo di caratteri che gli utenti devono inserire prima che vengano visualizzati consigli o suggerimenti di Elasticsearch. E il valore predefinito del sistema è 3.
  • Lunghezza massima query : il numero massimo di caratteri da digitare per visualizzare i risultati. Il valore predefinito del sistema è 128.
  • Numero di risultati di ricerca principali nella cache: qui inserisci il numero limite di risultati di ricerca popolari per migliorare la velocità di risposta. Il valore predefinito è 100. La seconda volta che viene cercato un termine, inviare uno "0" per memorizzare nella cache tutti i risultati.
  • Abilita o disabilita l'indicizzatore EAV: modifica questo campo per aumentare la velocità di indicizzazione ed evitare estensioni di terze parti che utilizzano l'indicizzatore.
  • Limite di completamento automatico: si imposta il valore per limitare i risultati di ricerca massimi visualizzati per il completamento automatico di Magento 2 Elasticsearch. Questo aiuta a migliorare le prestazioni della ricerca e ad accorciare l'elenco visualizzato. L'impostazione predefinita è 8.
impostazioni-di-ricerca-elastiche-generali

Passaggio 2: configurazione della connessione Magento 2 Elasticsearch

La tabella seguente mostra le opzioni necessarie per configurare e testare la connessione con Magento. Se non modifichi alcuna impostazione e lasci che le impostazioni predefinite funzionino, vai al passaggio successivo.

Magento-2-elasticsearch-connection-test table
Fonte: Adobe Commerce DevDocs
Magento-2-elasticsearch-connection-test-fields

Fare clic su Verifica connessione per terminare la configurazione e il test.

Se la connessione non riesce, provare i seguenti modi

  • Verifica che il tuo server Elasticsearch sia ancora in esecuzione.
  • Accedi al server Magento ed esegui il ping dell'host Elasticsearch se si trova su un host diverso da Magento. Risolvi eventuali problemi di connettività di rete e testa nuovamente la connessione.
  • Risolvi eventuali tracce di stack ed errori nella finestra di comando in cui hai avviato Elasticsearch prima di procedere. E assicurati di aver avviato Elasticsearch come utente con accesso root.
  • Assicurati che il firewall UNIX e SELinux siano disattivati ​​o abilita la comunicazione tra Elasticsearch e Magento impostando delle regole.
  • Garantire che la porta selezionata nel campo Elasticsearch Server Port non sia già utilizzata da un altro processo utilizzando netstat -an | grep **listen-port** comando netstat -an | grep **listen-port** .

Passaggio 3: configurare suggerimenti e raccomandazioni

Come accennato in precedenza, i consigli e i suggerimenti di ricerca di Magento 2 Elasticsearch sono convenienti e utili per i clienti che cercano prodotti adatti.

Per questa fase, puoi utilizzare le impostazioni predefinite o apportare alcune modifiche:

  • Abilitare i campi Abilita consigli di ricerca e Abilita suggerimenti di ricerca .
  • Scegliere di offrire quanti consigli e suggerimenti di ricerca nei campi Conteggio consigli di ricerca e Conteggio suggerimenti di ricerca.
  • Consenti di mostrare o meno il numero di risultati trovati per ogni consiglio e suggerimento nei campi Mostra conteggio risultati per ogni raccomandazione e Mostra conteggio risultati per ogni suggerimento .
  • Specificare un valore in Termini minimi da abbinare per impostare la quantità minima di termini che i risultati della ricerca devono corrispondere affinché gli utenti ricevano quelli più pertinenti.
Magento-2-elasticsearch-recommendation-suggerimento-impostazioni

Al termine della configurazione, premi Save Config .

Passaggio 4: reindicizzazione della ricerca nel catalogo e aggiornamento della cache della pagina intera

Dopo aver modificato la configurazione di Magento 2 Elasticsearch, devi reindicizzare l'indice di ricerca del catalogo e ricaricare la cache completa della pagina. Esistono due modi per farlo: utilizzando l'amministratore o la riga di comando.

Usando il Pannello di Amministrazione:

  1. Nell'amministratore, fai clic su Sistema e vai a Gestione cache.
  2. Spunta la casella di Page Cache .
  3. Selezionare Aggiorna dall'elenco Azioni in alto a destra nella pagina.
sezione di gestione della cache

Per pulire la cache, eseguire il comando magento cache:clean .

Utilizzando la riga di comando:

  • Accedi come proprietario del file system o passa ad esso sul tuo server Magento.
  • Per reindicizzare solo l'indice di ricerca del catalogo, inserire:

bin/magento indexer:reindex catalogsearch_fulltext

  • Per reindicizzare tutti gli indicizzatori, inserisci:

bin/magento indexer:reindex

  • Attendere il completamento del processo di reindicizzazione.

Conclusione

Utilizzato da nomi famosi come Netflix, LinkedIn, eBay, ecc., Elasticsearch è affidabile per rendere le ricerche sul sito facili ed efficaci per i tuoi clienti. Una volta completata la configurazione di Magento 2 Elasticsearch, il tuo negozio verrà rafforzato per convertire le ricerche in vendite e ridurre al minimo l'abbandono del carrello.
Spero che questo post sia utile e ti auguriamo buona fortuna nell'e-commerce!