Elasticsearch - API d'index

Ces API sont chargées de gérer tous les aspects de l'index comme les paramètres, les alias, les mappages, les modèles d'index.

Créer un index

Cette API vous aide à créer un index. Un index peut être créé automatiquement lorsqu'un utilisateur transmet des objets JSON à n'importe quel index ou il peut être créé avant cela. Pour créer un index, il vous suffit d'envoyer une requête PUT avec paramètres, mappages et alias ou simplement une simple requête sans corps.

PUT colleges

En exécutant le code ci-dessus, nous obtenons la sortie comme indiqué ci-dessous -

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

Nous pouvons également ajouter quelques paramètres à la commande ci-dessus -

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

En exécutant le code ci-dessus, nous obtenons la sortie comme indiqué ci-dessous -

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

Supprimer l'index

Cette API vous aide à supprimer n'importe quel index. Il vous suffit de transmettre une demande de suppression avec le nom de cet index particulier.

DELETE /colleges

Vous pouvez supprimer tous les index en utilisant simplement _all ou *.

Obtenir l'index

Cette API peut être appelée en envoyant simplement une requête get à un ou plusieurs index. Cela renvoie les informations sur l'index.

GET colleges

En exécutant le code ci-dessus, nous obtenons la sortie comme indiqué ci-dessous -

{
   "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"
         }
      }
   }
}

Vous pouvez obtenir les informations de tous les indices en utilisant _all ou *.

L'index existe

L'existence d'un index peut être déterminée en envoyant simplement une requête get à cet index. Si la réponse HTTP est 200, elle existe; s'il est 404, il n'existe pas.

HEAD colleges

En exécutant le code ci-dessus, nous obtenons la sortie comme indiqué ci-dessous -

200-OK

Paramètres d'index

Vous pouvez obtenir les paramètres d'index en ajoutant simplement le mot-clé _settings à la fin de l'URL.

GET /colleges/_settings

En exécutant le code ci-dessus, nous obtenons la sortie comme indiqué ci-dessous -

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

Statistiques d'index

Cette API vous aide à extraire des statistiques sur un index particulier. Il vous suffit d'envoyer une demande d'obtention avec l'URL d'index et le mot-clé _stats à la fin.

GET /_stats

En exécutant le code ci-dessus, nous obtenons la sortie comme indiqué ci-dessous -

………………………………………………
},
   "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
   }
} ………………………………………………

Affleurer

Le processus de vidage d'un index garantit que toutes les données qui ne sont actuellement conservées que dans le journal des transactions le sont également de manière permanente dans Lucene. Cela réduit les temps de récupération car ces données n'ont pas besoin d'être réindexées à partir des journaux de transactions après l'ouverture de Lucene indexé.

POST colleges/_flush

En exécutant le code ci-dessus, nous obtenons la sortie comme indiqué ci-dessous -

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