Lindorm Search Engine propose une interface utilisateur graphique (GUI) pour envoyer des requêtes API RESTful et accéder au moteur de recherche Lindorm. Cette rubrique explique comment utiliser la console Lindorm afin de vous connecter à l'interface et d'exécuter des requêtes de lecture et d'écriture.
Prérequis
Le type de service de votre instance est Lindorm V1 ou Lindorm. Pour afficher le type de service, consultez la rubrique Afficher la série de produits.
LindormSearch est activé. Pour plus d'informations, consultez le Guide d'activation.
-
L'adresse IP de votre client figure dans la liste d'autorisation de Lindorm. Pour plus d'informations, consultez la rubrique Configurer une liste d'autorisation.
ImportantSi votre client utilise IPv6 par défaut, désactivez-le. Sinon, la vérification de la liste d'autorisation échouera.
Procédure
Connexion à l'interface graphique
Connectez-vous à la console Lindorm.
Dans le coin supérieur gauche de la page, sélectionnez la région où se trouve votre instance.
Sur la page Instances, cliquez sur l'ID de l'instance cible ou sur View Instance Details dans la colonne Actions.
Dans le volet de navigation de gauche, cliquez sur Search Engine.
Dans la section UI Access, cliquez sur Internet ou VPC pour vous connecter au système de gestion du cluster.
-
Sur la page de connexion, saisissez le Default Username et le Default Initial Password affichés dans la section UI Access.
RemarqueLors de votre premier accès à l'interface, le chargement des ressources de la page peut prendre quelques instants.
Pour votre première connexion, utilisez le Default Username et le Default Initial Password pour vous connecter à l'interface de recherche. Pour les connexions suivantes, vous pouvez utiliser d'autres utilisateurs créés par l'utilisateur par défaut pour vous connecter à l'interface de gestion du cluster .
Opérations de lecture et d'écriture
La syntaxe des opérations de lecture et d'écriture est compatible avec l'API Elasticsearch (ES) 7.x.
Outils de développement
Cliquez sur l'icône
située dans le coin supérieur gauche pour ouvrir la barre latérale, puis cliquez sur .Dans Dev Tools, envoyez des requêtes API RESTful vers Lindorm Search.
Afficher tous les index créés
Utilisez l'API cat pour afficher les informations de base de tous les index dans LindormSearch.
Ajoutez le paramètre v au chemin de la requête pour afficher les en-têtes de colonne dans la réponse.
GET /_cat/indices?v
La réponse suivante s'affiche :
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open test2 test2 2 0 0 0 416b 416b
green open test3 test3 2 0 1 0 16.8kb 16.8kb
green open test1 test1 1 0 0 0 208b 208b
green open .kibana_1 .kibana_1 1 0 1 0 5.1kb 5.1kb
Créer un index
Utilisez l'API de création d'index pour ajouter un nouvel index.
Dans le corps de la requête, spécifiez les paramètres **settings et mappings** de l'index.
**
settings** : configuration de l'index. Par exemple, spécifiez le nombre de shards (index.number_of_shards) et l'intervalle d'actualisation (index.refresh_interval), qui correspond au délai maximal entre l'indexation d'un document et sa disponibilité pour la recherche.-
**
mappings** : schéma de l'index. Par exemple, définissez les champs et leurs types de données.PUT /test { "settings": { "index.number_of_shards": 2, "index.refresh_interval": "10s" }, "mappings": { "properties": { "firstName": { "type": "keyword" }, "lastName": { "type": "keyword" } } } }La réponse suivante s'affiche :
{ "acknowledged": true, "shards_acknowledged": true, "index": "test" }
Afficher un index spécifique
-
Utilisez l'API Get index pour afficher les paramètres **
settingsetmappings** d'un index.GET /testLa réponse suivante s'affiche :
{ "test": { "aliases": {}, "mappings": { "properties": { "firstName": { "type": "keyword" }, "lastName": { "type": "keyword" } } }, "settings": { "index": { "search": { "slowlog": { "level": "DEBUG", "threshold": { "fetch": { "warn": "1s", "trace": "200ms", "debug": "500ms", "info": "800ms" }, "query": { "warn": "10s", "trace": "500ms", "debug": "1s", "info": "5s" } } } }, "refresh_interval": "10s", "indexing": { "slowlog": { "level": "DEBUG", "threshold": { "index": { "warn": "10s", "trace": "500ms", "debug": "2s", "info": "5s" } } } }, "number_of_shards": "2", "provided_name": "test4", "creation_date": "1722418296110", "number_of_replicas": "0", "uuid": "test4", "version": { "created": "136287927" } } } } } -
Pour afficher uniquement les paramètres **
settingsoumappings**, utilisez l'API Get index settings ou l'API Get mapping.L'exemple suivant montre comment récupérer les paramètres **
settings** d'un index.GET /test/_settingsLa réponse suivante s'affiche :
{ "test": { "settings": { "index": { "search": { "slowlog": { "level": "DEBUG", "threshold": { "fetch": { "warn": "1s", "trace": "200ms", "debug": "500ms", "info": "800ms" }, "query": { "warn": "10s", "trace": "500ms", "debug": "1s", "info": "5s" } } } }, "refresh_interval": "10s", "indexing": { "slowlog": { "level": "DEBUG", "threshold": { "index": { "warn": "10s", "trace": "500ms", "debug": "2s", "info": "5s" } } } }, "number_of_shards": "2", "provided_name": "test4", "creation_date": "1722418296110", "number_of_replicas": "0", "uuid": "test4", "version": { "created": "136287927" } } } } }
Mettre à jour les paramètres d'un index
Utilisez l'API Update index settings pour mettre à jour les paramètres dynamiques d'un index.
L'exemple suivant montre comment modifier le paramètre index.refresh_interval en définissant sa valeur sur 1s. Cela réduit à 1 seconde le délai entre l'indexation d'un document et sa disponibilité pour la recherche. L'intervalle minimal est de 1 seconde.
PUT /test/_settings
{
"index": {
"refresh_interval": "1s"
}
}
La réponse suivante s'affiche :
{
"acknowledged": true
}
Écrire des données dans un index
Utilisez l'API Index pour ajouter ou mettre à jour des documents dans un index.
-
Lorsque vous utilisez la méthode
PUT, spécifiez explicitement un **id. Si l'id** spécifié existe déjà dans l'index, le nouveau document remplace l'existant.L'exemple suivant définit l'**
id** sur1:PUT /test/_doc/1 { "firstName": "John", "lastName": "Smith" }La réponse suivante s'affiche :
{ "_index": "test", "_type": "_doc", "_id": "1", "_version": 1, "result": "created", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 0, "_primary_term": 1 } -
Lorsque vous utilisez la méthode
POST, omettez l'**id. LindormSearch génère automatiquement unid** pour le document.POST /test/_doc { "firstName": "Frank", "lastName": "Brown" }La réponse suivante s'affiche :
{ "_index": "test", "_type": "_doc", "_id": "b_MsCJEB3g4To6JSOeF6", "_version": 1, "result": "created", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 0, "_primary_term": 1 }LindormSearch génère automatiquement l'**
id**b_MsCJEB3g4To6JSOeF6pour le document. -
Utilisez l'API Update pour mettre à jour des champs spécifiques d'un document existant. Incluez l'**
id** du document dans le chemin de la requête et l'objetdocdans le corps de la requête.L'exemple suivant met à jour le champ **
firstName** avec la valeurLanepour le document dont l'**id** est1:POST /test/_update/1 { "doc": { "firstName": "Lane" } }La réponse suivante s'affiche :
{ "_index": "test", "_type": "_doc", "_id": "1", "_version": 2, "result": "updated", "_shards": { "total": 1, "successful": 1, "failed": 0 }, "_seq_no": 1, "_primary_term": 1 }
Interroger des données dans un index
-
Utilisez l'API Search pour interroger des données dans un index en spécifiant les critères de recherche dans le corps de la requête.
L'exemple suivant recherche les documents dont le champ **
lastName** estSmith:GET /test/_search { "query": { "match": { "lastName": "Smith" } } }La réponse suivante s'affiche :
{ "took": 4, "timed_out": false, "_shards": { "total": 2, "successful": 2, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 1, "relation": "eq" }, "max_score": 0.18232156, "hits": [ { "_index": "test", "_id": "1", "_score": 0.18232156, "_source": { "firstName": "Lane", "lastName": "Smith" } } ] } } -
Utilisez l'API Get pour récupérer un document à partir de son **
id**.L'exemple suivant récupère le document dont l'**
id** est1:GET /test/_doc/1La réponse suivante s'affiche :
{ "_index": "test", "_id": "1", "_version": 2, "_seq_no": 1, "_primary_term": 1, "found": true, "_source": { "firstName": "Lane", "lastName": "Smith" } }
Supprimer des données d'un index
L'API Delete supprime un document d'un index à l'aide de son **id**.
L'exemple suivant supprime le document dont l'**id** est 1 :
DELETE /test/_doc/1
La réponse suivante s'affiche :
{
"_index": "test",
"_type": "_doc",
"_id": "1",
"_version": 3,
"result": "deleted",
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"_seq_no": 2,
"_primary_term": 1
}
Dans la réponse, la valeur "successful": 1 indique que le document a bien été supprimé.