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
- ElasticSearch 7 o 8 installato su macchina separata e configurato con autenticazione (password o key).
Le caratteristiche della macchina ElasticSearch dipendono dalla mole di dati e utenti di vtenext, ma il minimo necessario per poter almeno testare il modulo è stimato in 4 CPU e 4GB di RAM. - Vtenext almeno 25.02
- Almeno un modulo con 10 mila records, con meno record i miglioramenti di performance sono trascurabili
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:
- Non si applica a filtri basati su report
- Non è attivabile su alcuni moduli quali: Calendario, Processi, Grafici, Note.
- In caso di modifiche alla visibilità dei record tramite
SDK::setAdvancedQuery, va modificato il codice per supportare ElasticSearch, e comunque non è garantito sia sempre possibile attivarlo - Alcune ricerche potrebbero restituire risultati diversi causati dalla tokenizzazione di ElasticSearch, ad esempio, cercando per "andrea" si possono trovare stringhe come "[...] and real stuff [...]"
- Alcune ricerche potrebbero restutire risultati diversi a causa di translitterazione di alcuni caratteri, come ß -> ss.
- Valori con spazi all'inizio o alla fine potrebbero non essere trovati tramite ricerche esatta