Ricerca elastica

Come creare indici Elasticsearch

Come creare indici Elasticsearch
Elasticsearch è una parte del popolare stack ELK utilizzato per l'analisi dei log e la ricerca. Le applicazioni e i sistemi registrano costantemente dati che possono essere molto utili per la risoluzione dei problemi e il monitoraggio dei problemi. Utilizzando lo stack ELK, hai gli strumenti migliori per eseguire queste attività in modo rapido e molto semplice.

In questo breve tutorial, esamineremo Elasticsearch, in particolare come creare indici nel motore Elasticsearch. Sebbene non sia necessaria alcuna conoscenza completa dello stack ELK per seguire questo tutorial, potrebbe essere vantaggioso avere una conoscenza di base dei seguenti argomenti:

NOTA: Questo tutorial presuppone anche che tu abbia Elasticsearch installato e in esecuzione sul tuo sistema.

Cosa sono gli indici Elasticsearch?

Senza semplificare o complicare eccessivamente le cose, un indice Elasticsearch è una raccolta di documenti JSON correlati.

Come accennato in un post precedente, gli indici Elasticsearch sono oggetti JSON considerati l'unità di archiviazione di base in Elasticsearch. Questi documenti JSON correlati sono archiviati in una singola unità che costituisce un indice. Pensa ai documenti Elasticsearch come tabelle in un database relazionale.

Mettiamo in relazione un indice Elasticsearch come un database nel mondo SQL.

Come creare un indice Elasticsearch

Elasticsearch utilizza un'API REST potente e intuitiva per esporre i suoi servizi. Questa funzionalità consente di utilizzare le richieste HTTP per eseguire operazioni sul cluster Elasticsearch. Pertanto, utilizzeremo l'API create index per creare un nuovo indice.

Per questa guida, utilizzeremo cURL per inviare le richieste e preservare l'integrità e l'usabilità per tutti gli utenti. Tuttavia, se riscontri errori con cURL, considera l'utilizzo di Kibana Console.

La sintassi per la creazione di un nuovo indice nel cluster Elasticsearch è:

METTERE /

Per creare un indice, tutto ciò che devi fare è passare il nome dell'indice senza altri parametri, che crea un indice utilizzando le impostazioni predefinite.

È inoltre possibile specificare varie funzionalità dell'indice, ad esempio nel corpo dell'indice:

  • Le impostazioni per l'indice
  • Alias ​​di indice
  • Mappature per i campi indice

Il nome dell'indice è un parametro obbligatorio; in caso contrario, riceverai un errore per l'URIL (/)

curl -X PUT "localhost:9200"
"error":"Metodo HTTP errato per uri [/] e metodo [PUT], consentito: [DELETE, HEAD, GET]","status":405

Per creare un nuovo indice con il nome single_index, passiamo la richiesta:

PUT /indice_singolo

Per cURL, usa il comando:

curl -X PUT "localhost:9200/single_index?bella"

Questo comando dovrebbe risultare in HTTP Status 200 OK e un messaggio con riconosciuto: true come:


“riconosciuto”: vero,
"shards_acknowledged": vero,
"indice": "indice_singolo"

La richiesta sopra crea un indice single_index con impostazioni predefinite poiché non abbiamo specificato alcuna configurazione.

Regole di denominazione dell'indice

Quando crei nomi per gli indici Elasticsearch, devi rispettare i seguenti standard di denominazione:

  1. Il nome dell'indice deve essere solo in minuscolo.
  2. I nomi degli indici non possono iniziare con un trattino (-), un carattere di sottolineatura (_) o un segno di addizione (+)
  3. I nomi non possono essere . o…
  4. I nomi degli indici non possono includere caratteri speciali come: \, /, *, ?, “, <, >, |,"(spazio), ,, #
  5. La lunghezza dei nomi degli indici deve essere inferiore a 255 byte. I caratteri multi-byte conteranno nella lunghezza totale del nome dell'indice. Ad esempio, se un singolo carattere è lungo 8 byte, la lunghezza totale rimanente del nome è 255 - 8
  6. Nell'ultima versione di Elasticsearch, i nomi che iniziano con a . sono riservati agli indici nascosti e agli indici interni utilizzati dai plugin Elasticsearch.

Come creare un corpo indice

Quando si utilizza la richiesta PUT per creare un indice, è possibile passare vari argomenti che definiscono le impostazioni per l'indice che si desidera creare. I valori che puoi specificare nel corpo includono:

  • Alias: Specifica i nomi degli alias per l'indice che si desidera creare; questo parametro è opzionale.
  • Impostazioni: Questo definisce le opzioni di configurazione per l'indice che vuoi creare. Se non si specificano parametri, l'indice viene creato utilizzando le configurazioni predefinite.
  • Mappature: Questo definisce la mappatura per i campi nell'indice. Le specifiche che puoi includere nelle mappature includono:
    • Il nome del campo
    • Il tipo di dati
    • Il parametro di mappatura

Per un esempio di creazione di un indice con configurazioni del corpo, considerare la richiesta di seguito:

PUT /single_index_with_body

"impostazioni":
"number_of_shards": 2,
"number_of_replicas": 2
,
“mappature”:
"proprietà":
"field1": "tipo": "oggetto"


Per una richiesta equivalente a cURL:

curl -XPUT "http://localhost:9200/single_index_with_body" -H 'Content-Type: application/json' -d' "settings": "number_of_shards": 2, "number_of_replicas": 2 , "mappings" : "proprietà": "campo1": "tipo": "oggetto" '

La richiesta precedente crea un nuovo indice con il nome single_index_with_body con 2 numeri di shard e 2 repliche. Crea anche una mappatura con un campo di nome field1 e digita come oggetto JSON.

Una volta inviata la richiesta, riceverai una risposta con lo stato della richiesta come:


“riconosciuto”: vero,
"shards_acknowledged": vero,
"indice": "single_index_with_body"

"Acknowledged" mostra se l'indice è stato creato con successo nel cluster, mentre "shards_acknowledged" mostra se il numero richiesto di copie shard è stato avviato per ogni shard nell'indice specificato prima del timeout.

Come visualizzare l'indice Elasticsearch

Per visualizzare le informazioni sull'indice che hai creato, usa una richiesta simile a quella della creazione di un indice, ma usa il metodo HTTP invece di PUT come:

GET /single_index_with_body

Per cURL,

curl -XGET “http://localhost:9200/single_index_with_body”

Questo comando ti fornirà informazioni dettagliate sull'indice richiesto come:


"single_index_with_body":
"alias": ,
"mapping":
"proprietà" :
"campo1":
"tipo": "oggetto"


,
"impostazioni" :
"indice":
"percorso":
"allocazione":
"includere" :
"_tier_preference": "data_content"


,
"number_of_shards": "2",
"nome_fornito": "indice_singolo_con_corpo",
"data_creazione": "1611045687208",
"number_of_replicas": "2",
"uuid": "3TRkO7xmQcSUOOGtb6pXVA",
"versione":
"creato": "7100299"




Conclusione

Questa guida ha discusso su come lavorare con Elasticsearch per creare l'API dell'indice per creare nuovi indici. Abbiamo anche discusso su come creare nomi adatti per gli indici e le impostazioni di configurazione.

Utilizzando questa guida, ora puoi creare e visualizzare indici utilizzando l'API Elasticsearch.

Le migliori distribuzioni Linux per il gioco nel 2021
Il sistema operativo Linux ha fatto molta strada dal suo aspetto originale, semplice e basato su server. Questo sistema operativo è notevolmente migli...
Come acquisire e riprodurre in streaming la tua sessione di gioco su Linux
In passato, giocare era considerato solo un hobby, ma con il tempo l'industria dei giochi ha visto una crescita enorme in termini di tecnologia e nume...
I migliori giochi da giocare con il tracciamento delle mani
Oculus Quest ha recentemente introdotto la grande idea del tracciamento manuale senza controller. Con un numero sempre crescente di giochi e attività ...