Indice
Elasticsearch: che cos'è e quando usarlo
Elasticsearch è lo strumento perfetto per migliorare l'usabilità degli spazi virtuali, ottimizzando l'esperienza utente, ma anche la gestione dei dati.Siti web, blog e e-commerce devono fornire ai visitatori tutti gli strumenti utili per individuare facilmente e in pochi istanti i contenuti di loro interesse; solo in questo modo si avrà la possibilità di prolungare la durata della navigazione, far tornare i visitatori e generare conversioni. Una struttura di navigazione chiara, dei menù ben definiti, link interni facilmente individuabili sono elementi indispensabili per raggiungere questo obiettivo, ma non sempre sono sufficienti.Un elemento che non dovrebbe mai mancare è la ricerca interna, la quale, a seconda dei casi, potrà aiutare l'utente a trovare subito un prodotto all'interno di un e-commerce, un articolo in un blog, un'informazione specifica su un sito aziendale e via dicendo. Per ottenere questo risultato, è possibile sfruttare svariati programmi, ma uno dei migliori, perfetto anche per chi gestisce siti realizzati con WordPress, è Elasticsearch.Che cos'è Elasticsearch
Elasticsearch è un motore di ricerca scalabile che consente di gestire numerose tipologie di dati, strutturati e non strutturati. Creato a partire dall'API Apache Lucene, è stato rilasciato nel 2010 dall'azienda Elastic, allora chiamata Elasticsearch NV, ed è oggi parte integrante di Elastic Stack, un kit di strumenti che, utilizzati in sinergia, permettono di gestire e analizzare una grande mole di dati.In molti casi, quando si parla di Elasticsearch, si fa in realtà riferimento a ELK Stack, ossia ai tre programmi Elasticsearch, Kibana e Logstash.Ad oggi, molte tra le più importanti piattaforme che si trovano a dover gestire tantissimi dati, come Amazon e Wikipedia, sfruttano le funzionalità di Elasticsearch per migliorare navigabilità e gestione dei dati.Installato su un sito WordPress, rende la ricerca di documenti e dati nel database più veloce e performante di quanto non avvenga utilizzando il sistema di query MySQL.A che cosa serve e come funziona
L'utilità di Elasticsearch non si ferma al miglioramento dell'usabilità del sito web o dell'e-commerce, ma si estende a numerosi altri ambiti; ad esempio, può essere utilizzato per effettuare ricerche intranet, ossia su una rete aziendale privata, per monitorare le prestazioni e analizzare dati geospaziali o relativi alla sicurezza.Ma come funziona esattamente questo programma?Elasticsearch archivia qualsiasi tipo di dato in documenti JSON, anche molto complessi, che vengono indicizzati e messi a disposizione degli utenti che hanno accesso alla ricerca. Grazie alla struttura inverted index e al fatto che, anziché i documenti, analizza l'indice contenente tutti i contenuti, permette di effettuare ricerche estremamente rapide.Per utilizzarlo con WordPress, è possibile installare l'ottimo plugin ElasticPress.Quali siti web possono essere migliorati con Elasticsearch
Qualsiasi spazio virtuale può migliorare le proprie prestazioni grazie all'utilizzo di questo motore di ricerca dalle prestazioni eccezionali, ma ve ne sono alcuni che non possono proprio farne a meno, come i siti e gli e-commerce che gestiscono Big Date o ricevono migliaia di interrogazioni al secondo, o quelli realizzati con WordPress, i quali di base utilizzano la poco performante ricerca MySQL.Elasticsearch risulta inoltre utile per aiutare gli amministratori dei siti a rintracciare commenti, ordini sugli e-commerce, post e altro ancora.Quali vantaggi derivano dall'utilizzo di Elasticsearch
Scalabile e facile da usare, Elasticsearch, insieme agli altri strumenti dello stack, offre numerosi vantaggi.In primo luogo, permette di effettuare ricerche precise e rapide, praticamente in tempo reale, consentendo di individuare anche documenti appena indicizzati.In secondo luogo, grazie alla presenza di shards duplicati, ossia di contenitori virtuali nei quali vengono ospitati i documenti e che vengono duplicati al fine di ottenere più copie degli stessi documenti, sarà possibile ottenere una risposta rapida anche in caso di guasto di uno dei server.Per finire, offre numerose funzioni aggiuntive, implementabili tramite plugin.Vantaggi su WordPress
Per quanto riguarda l'utilizzo su WordPress, Elasticsearch, il quale risulta anche compatibile con WooCommerce, permette di ridurre notevolmente il carico di CPU in presenza di molte richieste, fornendo risposte in tempi decisamente più rapidi rispetto a quanto farebbe utilizzando MySQL, nonché evitando blocchi o errori improvvisi che potrebbero far perdere utenti al sito o clienti all'e-commerce.Installando Elasticsearch tramite il plugin ElasticPress, si potrà, tra le altre cose:- individuare immediatamente i prodotti di proprio interesse su WooCommerce
- visualizzare i contenuti correlati alla ricerca
- ottenere il completamento automatico del campo di ricerca
Installazione del plugin ElasticPress
Per prima cosa scaricare, installare ed attivare il plugin ElasticPress da questa pagina oppure ricercandolo direttamente all’interno del repository di WordPress dalla voce Plugin > Aggiungi nuovo.Una volta attivato, sempre dalla dashboard di WordPress, andare nel menu del plugin e cliccare su Settings e poi su Third-Party/Self-Hosted.A questo punto, nel campo Elasticsearch Host URL, bisognerà inserire l'hostname del VPS di Elasticsearch da noi precedentemente attivato e configurato.È possibile reperire tale URL sia dalla propria area clienti nella sezione Servizi (cliccando direttamente sul servizio in questione) sia facendo richiesta al reparto tecnico tramite ticket da questa pagina.Il formato dell'URL da inserire è http://esempio.esempio.vhostingservices.com.Una volta inserito cliccare su Save Changes per salvare le modifiche.Sincronizzazione dei contenuti
Dopo aver inserito l'URL del VPS di Elasticsearch ed aver salvato le modifiche si verrà reindirizzati sulla pagina di configurazione in cui verrà richiesto di selezionare i contenuti da sincronizzare.Il nostro suggerimento è quello di spuntare tutte le caselle presenti.Fatto questo cliccare su Save Features per avviare la sincronizzazione.I tempi di sincronizzazione possono variare in base alla dimensione del contenuto del sito.Installazione del plugin ElasticProxy
Una volta completata la sincronizzazione bisognerà installare da terminale il plugin ElasticProxy necessario per poter abilitare la feature instant-results.Dopo aver effettuato l'accesso tramite SSH al proprio servizio hosting bisognerà per prima cosa posizionarsi della cartella contenente i plugin di WordPress lanciando il comandocd public_html/wp-content/plugins
.A questo punto bisognerà creare una cartella vuota dove installare il plugin tramite il comando mkdir elasticpress-proxy
e poi spostarsi all'interno lanciando cd elasticpress-proxy
.Per installare il plugin bisognerà utilizzare il comando wget
lanciando in ordine quanto segue:wget https://raw.githubusercontent.com/10up/elasticpress-proxy/develop/elasticpress-proxy.php
wget https://raw.githubusercontent.com/10up/elasticpress-proxy/develop/proxy.php
Fatto questo, per attivare il plugin, basterà lanciare wp plugin activate elasticpress-proxy
.Abilitazione feature per WordPress
Dopo aver installato e attivato il plugin ElasticProxy, sempre da terminale, sarà possibile abilitare le feature desiderate per il proprio sito tramite i seguenti comandi.wp elasticpress activate-feature search
wp elasticpress activate-feature instant-results
wp elasticpress activate-feature autosuggest
wp elasticpress activate-feature woocommerce
wp elasticpress activate-feature facets
wp elasticpress activate-feature related_posts
wp elasticpress activate-feature searchordering
wp elasticpress activate-feature protected_content
wp elasticpress activate-feature documents
wp elasticpress activate-feature comments
wp elasticpress activate-feature users
wp elasticpress activate-feature terms
Esecuzione re-index dei contenuti
Una volta abilitate le feature desiderate bisognerà fare il re-index dei contenuti lanciando, sempre da terminale, i seguenti comandi:wp elasticpress clear-index
wp elasticpress index
A questo punto la configurazione di Elasticsearch sarà stata completata.