La nuova multi-term aggregation in Elasticsearch
In Elasticsearch 7.12 ci sono nuovi miglioramenti per quanto riguarda l’aggregazione di dati. Tra questi figura anche il minor consumo di memoria e l’aggiunta della innovativa multi-term aggregation. L’aggregazione multi-term è un’aggregazione basata su dati sorgente, è di tipo multi-bucket. In particolare i bucket vengono creati dinamicamente, un bucket per ogni insieme di valori univoco.
Quando utilizzare le aggregazioni multi-term rispetto alle già esistenti aggregazioni composite? Una multi-term risulta più utile quando è necessario ordinare in base a un certo numero di documenti o se serve fare una aggregazione metric su una chiave composta e ottenere i primi risultati. Se invece l’ordinamento non è richiesto le aggregazioni composite rappresentano una soluzione più veloce ed efficiente in termini di memoria.
Con Elastic 7.12 si possono eliminare le ricerche asincrone precedente create
Dall’introduzione della ricerca asincrona e dalla possibilità di inviare ricerche in background, è facile inviare una query e lasciare che Elasticsearch svolga le attività in multitasking. Ora, come amministratore, è anche possibile eliminare una ricerca asincrona dimenticata. Alcuni utenti potrebbero aver dimenticato di aver avviato precedentemente una lunga ricerca, liberando così risorse di ricerca.
Query su elementi geografici in Elastic 7.12
In Elasticsearch le query geo_shape su geo_points erano possili solo utilizzando la relazione di intersection. Con la nuova versione è stato aggiunto il supporto per le restanti relazioni: disjoint, within e contains. Questa modifica semplifica l’uso delle API, poiché le stesse relazioni si applicano sia a geo_shapes che a geo_points, oltre a consentire di utilizzare tutti i punti che sono al di fuori della geo_shape definita.
Novità per i criteri di retention dei dati
In Elasticsearch adesso è possibile includere un criterio di retention dei dati (conservazione dei dati) per rimuoverli dall’indice di destinazione una volta raggiunto il periodo di retention. Ciò consente di eliminare entità se non sono state aggiornate durante il periodo di retention. Questa funzionalità è particolarmente utile con la funzionalità delle Transform. Se ad esempio con le Transform si crea un indice che mantiene lo stato più recente dei dati host, è possibile utilizzare il periodo di retention per rimuovere gli host che non sono stati aggiornati di recente (mettendo la spunta su Retention Policy).