# 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 -&gt; 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 rea**l stuff \[...\]"
- Alcune ricerche potrebbero restutire risultati diversi a causa di translitterazione di alcuni caratteri, come ß -&gt; ss.
- Valori con spazi all'inizio o alla fine potrebbero non essere trovati tramite ricerche esatta