Elasticsearch - Indice API

Queste API sono responsabili della gestione di tutti gli aspetti dell'indice come impostazioni, alias, mappature, modelli di indice.

Crea indice

Questa API ti aiuta a creare un indice. Un indice può essere creato automaticamente quando un utente passa oggetti JSON a qualsiasi indice oppure può essere creato prima. Per creare un indice, è sufficiente inviare una richiesta PUT con impostazioni, mappature e alias o semplicemente una semplice richiesta senza corpo.

PUT colleges

Eseguendo il codice sopra, otteniamo l'output come mostrato di seguito -

{
   "acknowledged" : true,
   "shards_acknowledged" : true,
   "index" : "colleges"
}

Possiamo anche aggiungere alcune impostazioni al comando precedente:

PUT colleges
{
  "settings" : {
      "index" : {
         "number_of_shards" : 3,
         "number_of_replicas" : 2
      }
   }
}

Eseguendo il codice sopra, otteniamo l'output come mostrato di seguito -

{
   "acknowledged" : true,
   "shards_acknowledged" : true,
   "index" : "colleges"
}

Elimina indice

Questa API ti aiuta a eliminare qualsiasi indice. Hai solo bisogno di passare una richiesta di cancellazione con il nome di quel particolare Indice.

DELETE /colleges

Puoi eliminare tutti gli indici semplicemente usando _all o *.

Ottieni indice

Questa API può essere chiamata semplicemente inviando una richiesta get a uno o più indici. Ciò restituisce le informazioni sull'indice.

GET colleges

Eseguendo il codice sopra, otteniamo l'output come mostrato di seguito -

{
   "colleges" : {
      "aliases" : {
         "alias_1" : { },
         "alias_2" : {
            "filter" : {
               "term" : {
                  "user" : "pkay"
               }
            },
            "index_routing" : "pkay",
            "search_routing" : "pkay"
         }
      },
      "mappings" : { },
      "settings" : {
         "index" : {
            "creation_date" : "1556245406616",
            "number_of_shards" : "1",
            "number_of_replicas" : "1",
            "uuid" : "3ExJbdl2R1qDLssIkwDAug",
            "version" : {
               "created" : "7000099"
            },
            "provided_name" : "colleges"
         }
      }
   }
}

È possibile ottenere le informazioni di tutti gli indici utilizzando _all o *.

Index Exist

L'esistenza di un indice può essere determinata semplicemente inviando una richiesta get a quell'indice. Se la risposta HTTP è 200, esiste; se è 404, non esiste.

HEAD colleges

Eseguendo il codice sopra, otteniamo l'output come mostrato di seguito -

200-OK

Impostazioni indice

Puoi ottenere le impostazioni dell'indice semplicemente aggiungendo la parola chiave _settings alla fine dell'URL.

GET /colleges/_settings

Eseguendo il codice sopra, otteniamo l'output come mostrato di seguito -

{
   "colleges" : {
      "settings" : {
         "index" : {
            "creation_date" : "1556245406616",
            "number_of_shards" : "1",
            "number_of_replicas" : "1",
            "uuid" : "3ExJbdl2R1qDLssIkwDAug",
            "version" : {
               "created" : "7000099"
            },
            "provided_name" : "colleges"
         }
      }
   }
}

Statistiche indice

Questa API ti aiuta a estrarre le statistiche su un particolare indice. Devi solo inviare una richiesta get con l'URL dell'indice e la parola chiave _stats alla fine.

GET /_stats

Eseguendo il codice sopra, otteniamo l'output come mostrato di seguito -

………………………………………………
},
   "request_cache" : {
      "memory_size_in_bytes" : 849,
      "evictions" : 0,
      "hit_count" : 1171,
      "miss_count" : 4
   },
   "recovery" : {
      "current_as_source" : 0,
      "current_as_target" : 0,
      "throttle_time_in_millis" : 0
   }
} ………………………………………………

Sciacquone

Il processo di svuotamento di un indice garantisce che tutti i dati che attualmente sono presenti solo nel registro delle transazioni siano permanentemente conservati anche in Lucene. Ciò riduce i tempi di ripristino poiché non è necessario reindicizzare i dati dai registri delle transazioni dopo l'apertura dell'indicizzazione di Lucene.

POST colleges/_flush

Eseguendo il codice sopra, otteniamo l'output come mostrato di seguito -

{
   "_shards" : {
      "total" : 2,
      "successful" : 1,
      "failed" : 0
   } 
}