Indice
Elasticsearch: che cos'è e quando usarlo
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.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.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.