Modulo ElasticSearch

Integrazione di Vtenext con ElasticSearch per velocizzare le liste

Requisiti e installazione

Introduzione

Il modulo ElasticSearch per vtenext consente di velocizzare notevolmente il tempo di caricamento delle liste di record, per moduli con molti dati. Anche con moduli contenenti milioni di record e filtri con varie condizioni e i tempi di caricamento sono di norma inferiori al secondo.

 

Funzionamento

L'idea sottostante questo modulo è di utilizzare ElasticSearch per eseguire ricerche e ordinamenti in una grande quantità di dati. Una volta installato il modulo, tutti i record dei moduli desiderati vengono indicizzati in ElasticSearch e mantenuti sincronizzati ad ogni modifica. Le liste di record sono modificate per eseguire la ricerca secondo i parametri di visibilità e del filtro usato direttamente in ElasticSearch, che generalmente restituisce i risultati in una frazione di secondo.

 

Requisiti di sistema

 

Installazione

Installare il pacchetto fornito da Impostazioni -> Gestore Moduli

 

Limitazioni

Il modulo ElasticSearch non copre tutte le casistiche di filtri e ricerche di Vtenext standard, in particolare, valgono le seguenti limitazioni:

Configurazione

Dalla versione 2.5 del modulo ElasticSearch è presente una interfaccia di configurazione, accessibile da Impostazioni ->ElasticSearch:

image.png

Sono presenti 2 sezioni, Configurazione, per impostare i parametri di connessione e attivare l'integrazione per singoli moduli, e Manutenzione, per eseguire operazioni di pulizia e re-indicizzazione.

Configurazione

image.png

I primi campi servono per configurare la connesione al server ElasticSearch, tramite url e autenticazione. Dopodichè si hanno:

Campo Utilizzo
Integrazione attiva Si può attivare o disattivare globalmente il modulo ElasticSearch. Se non attivo, nessuna richiesta verrà fatta al server ElasticSearch
Moduli abilitati Qui si vedono i moduli che sono abilitati all'utilizzo di ElasticSearch con lo stato dell'indicizzazione, il numero di record indicizzati e il tipo di accesso (si veda la descrizione a lato per i vari valori)
Aggiungi modulo

Permette di aggiungere un modulo all'integrazione. Una volta cliccato appare un popup per scegliere un modulo:

image.png

Una votla scelto, il modulo non è subito utilizzabile, è necessario attendere che tutti i suoi record vengano indicizzati, operazione che avviene in background, la cui durata dipende dal numero di record (può durare dai 10 minuti anche a svariate ore).

Versione ElasticSearch

Se la connessione verso il server ElasticSearch ha esito positivo, mostra la versione

Manutenzione

Da questa sezione si possono eseguire operazioni di manutenzione degli indici, per i moduli indicizzati:

image.png

Azione Significato
Elimina Disattiva l'integrazione di questo modulo con ElasticSearch e rimuove l'indice.
Reindicizza

Rigenera l'indice con tutti i record del modulo su ElasticSearch. Durante la reindicizzazione è possibile utilizzare normalmente il modulo in quanto viene creato un indice parallelo e solo al termine sostituito con quello effettivo.

Va eseguita in caso di disallineamenti dell'indice con il database mysql, tra le cause ci possono essere:

  • modifiche dei record manuali da database
  • modifiche dei record tramite query dirette come UPDATE o INSERT (si deve invece usare la funzione ->save() per garantire la corretta sincronizzazione)
  • interruzioni durante procedure di salvataggio che hanno modificato il record in vte, ma non hanno scatenato l'aggiornamento su ElasticSearch
Reindicizza con filtro

Come il precedente, ma permette di sincronizzare solo un filtro specifico:

 

image.png