Ricerca elastica

Come configurare un modello di indice Elasticsearch

Come configurare un modello di indice Elasticsearch
Gli indici sono una caratteristica essenziale di Elasticsearch senza la quale probabilmente non funzionerebbe come funziona. Sebbene gli indici Elasticsearch possano variare a seconda dell'uso previsto, tendono a condividere proprietà comuni. Detto questo, può essere noioso creare proprietà simili per tutti gli indici. Invece, è molto più efficiente creare un modello a cui fare riferimento durante la creazione di un indice.

Questo tutorial ti guiderà attraverso i dettagli dei modelli di indice Elasticsearch che ti consentono di definire modelli o progetti per indici comuni. Ad esempio, se registri costantemente dati da fonti esterne, puoi definire un progetto per tutti gli indici di registrazione.

NOTA: Prima di iniziare, è bene notare che il tutorial si concentra sull'ultima versione di Elasticsearch-7.8 al momento della scrittura e potrebbe variare da altre versioni. Supponiamo inoltre che tu abbia Elasticsearch in esecuzione su un sistema da qualche parte.

Iniziamo a lavorare con i modelli di indice Elasticsearch.

Che cos'è un modello di indice Elasticsearch??

Un modello di indice Elasticsearch è un metodo utilizzato per istruire Elasticsearch a configurare gli indici al momento della creazione. Ad esempio, un modello di indice utilizzato su un flusso di dati configura gli indici di supporto del flusso al momento della creazione.  Un modello di indice viene creato manualmente prima della creazione dell'indice. Quando si crea un indice, il modello applica le impostazioni di configurazione per l'indice.

L'ultima versione di Elasticsearch ha due tipi di modelli utilizzabili. Uno è il modello di indice, e l'altro è modelli di componenti. Come abbiamo già stabilito, i modelli di indice aiutano a creare indici Elasticsearch.

I modelli dei componenti sono moduli o blocchi riutilizzabili utilizzati per configurare impostazioni, mappature e alias. I modelli dei componenti non vengono applicati direttamente agli indici creati ma possono aiutare a creare modelli di indice.

Alcuni modelli di indice predefiniti utilizzati da Elasticsearch includono: metrics-*-*, logs-*-* .

Come creare un modello di indice

Per creare nuovi modelli di indice o aggiornare quelli esistenti, utilizziamo l'API del modello PUT. Utilizzando l'endpoint _index_template, possiamo inviare una richiesta HTTP per aggiungere un modello.

La sintassi generale per la creazione di un modello è:

PUT _index_template/template_name

È bene notare che il nome del modello è un parametro obbligatorio. Considera la richiesta di seguito che crea un modello di indice come template_1

PUT _index_template/template_1

/* Definisce il modello di indice */
"index_patterns": ["te*"],
"priorità" : 1,
/* Definisci le impostazioni per gli indici*/
"modello":
"impostazioni" :
"numero_di_schegge": 2


Per gli utenti cURL, il comando è:

curl -XPUT "http://localhost:9200/_index_template/template_1" -H 'Content-Type: application/json' -d'  /* Definisce il modello di indice */  "index_patterns": ["te*"], "priority" : 1,  /* Definisce le impostazioni per gli indici*/  "template":      "settings" :       "number_of_shards" : 2      '

Elasticsearch utilizza un modello di caratteri jolly per abbinare i nomi degli indici in cui vengono applicati i modelli. La modifica o l'aggiornamento di un modello di indice non ha effetto sugli indici già creati, solo su quelli che verranno creati dopo aver utilizzato quel modello.

Dall'alto, puoi commentare i tuoi modelli usando il metodo di commento C-Language. Puoi aggiungere tutti i commenti che vuoi, in qualsiasi parte del corpo tranne l'apertura delle parentesi graffe.

Nel corpo di un modello di indice, puoi includere varie definizioni come:

Ci sono altre proprietà che puoi includere nel corpo del modello di indice. Considera la documentazione per saperne di più.

https://www.elastico.co/guide/it/elasticsearch/reference/7.10/modelli-indice.html

Di seguito è riportato un esempio di richiesta per creare un nuovo modello con la versione 1.0

PUT /_index_template/template_2

"index_patterns": ["remp*", "re*"],
"priorità" : 1,
"modello":
"impostazioni" :
"numero_di_schegge": 2,
"number_of_replicas": 0

,
"versione": 1.0

Non puoi avere più di un modello di indice con un modello corrispondente e la stessa priorità. Quindi, assicurati di assegnare priorità diverse per abbinare i modelli di pattern.

Come ottenere il modello di indice

Per visualizzare le informazioni su un modello di indice, invia una richiesta GET all'API _index_template. Ad esempio, per visualizzare informazioni su template_2, utilizzare la richiesta:

OTTIENI _modello_indice/modello_2

Il comando cURL è:

curl -XGET "http://localhost:9200/_index_template/template_2"

Questo comando dovrebbe visualizzare informazioni su template_2


"index_templates": [

"nome": "modello_2",
"index_template":
"index_patterns": [
"rep*",
"ri*"
],
"modello" :
"impostazioni" :
"indice":
"number_of_shards": "2",
"number_of_replicas": "0"


,
"composto da" : [ ],
"priorità" : 1,
"versione" : 1


]

Puoi anche usare i caratteri jolly per ottenere modelli corrispondenti. Ad esempio, considera la richiesta di seguito per visualizzare tutti i modelli in Elasticsearch.

OTTIENI _modello_indice/*

Il comando cURL è.

curl -XGET http://localhost:9200/_index_template/*

Questo comando dovrebbe darti informazioni su tutti i modelli in Elasticsearch


"index_templates": [

"nome" : "ilm-storia",
"index_template":
"index_patterns": [
"ilm-storia-3*"
],
"modello" :
"impostazioni" :
"indice":
"formato": "1",
"ciclo vitale" :
"nome" : "ilm-history-ilm-policy",
"rollover_alias": "ilm-history-3"
,
"nascosto": "vero",
"number_of_shards": "1",
"auto_expand_replicas": "0-1",
"number_of_replicas": "0"

,
"mapping":
"dinamico": falso,
"proprietà" :
"indice_età":
"tipo": "lungo"
,
"@timestamp":
"formato": "epoch_millis",
"tipo": "data"
,
"dettagli circa l'errore" :
"tipo": "testo"
,
"successo":
"tipo": "booleano"
,
"indice":
"tipo": "parola chiave"
,
"stato":
"dinamico": vero,
"tipo": "oggetto",
--------------------------USCITA TRONCATA-----------------------------------

Come eliminare i modelli

L'eliminazione di un modello è semplice come il modello GET ma utilizzando la richiesta DELETE come:

ELIMINA _modello_indice/modello_2

Puoi usare il comando cURL:

curl -XDELETE "http://localhost:9200/_index_template/template_2"

Questo comando elimina automaticamente il modello specificato.

Conclusione

Questo tutorial ha spiegato cosa sono i modelli di indice Elasticsearch, come funzionano e come creare, visualizzare ed eliminare i modelli di indice. Queste informazioni di base dovrebbero aiutarti a iniziare a utilizzare i modelli di indice Elasticsearch.

Installa l'ultimo gioco di strategia OpenRA su Ubuntu Linux
OpenRA è un motore di gioco di strategia in tempo reale gratuito/libero che ricrea i primi giochi di Westwood come il classico Command & Conquer: Red ...
Installa l'ultimo Dolphin Emulator per Gamecube e Wii su Linux
L'emulatore Dolphin ti consente di giocare ai giochi Gamecube e Wii scelti su Personal Computer Linux (PC). Essendo un emulatore di giochi liberament...
Come utilizzare GameConqueror Cheat Engine in Linux
L'articolo copre una guida sull'utilizzo del motore cheat GameConqueror in Linux. Molti utenti che giocano su Windows utilizzano spesso l'applicazione...