Rechercher et visualiser des données à l'aide d'Oracle Cloud Infrastructure Search avec OpenSearch

Introduction

Oracle Cloud Infrastructure (OCI) Search with OpenSearch est un moteur d'analyse proposé en tant que service géré par Oracle. Grâce aux fonctionnalités d'OCI pour les tableaux de bord OpenSearch et OpenSearch, vous pouvez stocker, rechercher et analyser rapidement d'importants volumes de données et voir les résultats quasiment en temps réel. Oracle automatise, sans aucun temps d'arrêt, les activités qui incluent l'application de patches, la mise à jour, la mise à niveau, la sauvegarde et le redimensionnement du service.

Objectifs

Prérequis

  1. Créez les stratégies de service requises dans la console OCI. Remplacez any-user par le groupe souhaité et indiquez le chemin du compartiment si nécessaire.

    Stratégies de travail :

    Allow group SearchOpenSearchAdmins to manage vnics in compartment <NETWORK_RESOURCES_COMPARTMENT>
    Allow group SearchOpenSearchAdmins to manage vcns in compartment <NETWORK_RESOURCES_COMPARTMENT>
    Allow group SearchOpenSearchAdmins to manage subnets in compartment <NETWORK_RESOURCES_COMPARTMENT>
    Allow group SearchOpenSearchAdmins to use network-security-groups in compartment <NETWORK_RESOURCES_COMPARTMENT>
    Allow group SearchOpenSearchAdmins to manage opensearch-family in compartment <CLUSTER_RESOURCES_COMPARTMENT>
    
  2. Créez un VCN avec un sous-réseau public et un sous-réseau privé.

    • Processus simplifié :

      1. Accédez à la console OCI et ouvrez le menu de navigation.

      2. Cliquez sur Networking et Virtual Cloud Networks.

      3. Cliquez sur Démarrer l'assistant VCN et sur Créer un VCN avec la connectivité Internet.

    • Processus personnalisé :

      1. Accédez à la console OCI et ouvrez le menu de navigation.

      2. Cliquez sur Networking et Virtual Cloud Networks.

      3. Cliquez sur Créer un VCN et entrez vos propres détails.

  3. Créez une instance de machine virtuelle dans le sous-réseau public du VCN.

    1. Accédez à la console OCI et ouvrez le menu de navigation.

    2. Cliquez sur Compute et sur Instances.

    3. Cliquez sur Créer une instance.

    4. Entrez le nom et sélectionnez le compartiment.

    5. Dans la section Image et forme, utilisez les valeurs par défaut (Oracle Linux 8, VM.Standard.E4). Flex).

    6. Dans la section Fonctions de réseau, sélectionnez le sous-réseau public et affectez une adresse IP publique.

    7. Dans la section Ajouter des clés SSH, indiquez si vous souhaitez utiliser une clé SSH existante ou générer une nouvelle clé SSH. Si vous choisissez de générer une nouvelle clé SSH, n'oubliez pas de télécharger la clé.

Remarque : dans ce tutoriel, un Mac et une instance Oracle Linux ont été utilisés. Les instructions de ligne de commande Windows peuvent différer.

Tâche 1 : création d'un cluster de services OCI Search

  1. Accédez à la console OCI, accédez à Bases de données, à Service OCI Search, à Clusters et cliquez sur Créer un cluster. Entrez le nom et le compartiment du cluster dans lesquels créer le cluster, puis cliquez sur Suivant.

    image

  2. Sélectionnez la taille du cluster, puis cliquez sur Suivant.

    image

  3. Sélectionnez le VCN, le sous-réseau privé créer dans la section Prérequis et cliquez sur Suivant.

    image

    Après la création du cluster, sur la page de détails du cluster de service OCI Search, notez les adresses d'API et les adresses IP que vous pouvez également utiliser.

    image

Tâche 2 : créer des règles de sécurité dans la liste de sécurité VCN

Dans le VCN, créez une liste de sécurité avec les règles de sécurité suivantes. Ils peuvent également être ajoutés à la liste de sécurité par défaut du VCN.

  1. Sur la page Détails du réseau cloud virtuel, cliquez sur Listes de sécurité, Liste de sécurité et Ajouter des règles entrantes.

    Remarque : ajoutez une règle pour le port 9200 (OpenSearch) et une règle pour 5601 (tableaux de bord OpenSearch).

    image

    image

    image

Tâche 3 : test de la connexion au service OCI Search – Adresse OpenSearch

Vous pouvez utiliser l'une des options suivantes :

Option 1 : à partir de l'instance de machine virtuelle créée

  1. Connectez-vous à l'instance à l'aide de SSH.

    ssh -i ~/.ssh/id_rsa_opensearch.key opc@<your_VM_instance_public_IP>
    
  2. Exécutez les commandes suivantes .

    curl https://mycluster.opensearch.us.example.com:9200
    # OpenSearch API endpoint example
    

    Ou

    curl https://<your_opensearch_private_IP>:9200 --insecure
    # OpenSearch private IP example
    

Option 2 : à partir de votre machine locale, via le transfert de port

  1. Exécutez la commande SSH de transfert de port suivante dans le terminal. Ne fermez pas le terminal pour vous assurer que la connexion reste active.

    ssh -C -v -t -L 127.0.0.1:5601:<your_opensearch_dashboards_private_IP>:5601 -L 127.0.0.1:9200:<your_opensearch_private_IP>:9200 opc@<your_VM_instance_public_IP> -i <path_to_your_private_key>
    
  2. Ouvrez une nouvelle fenêtre de terminal et exécutez la commande suivante.

    curl https://localhost:9200 --insecure
    

Si les étapes sont effectuées correctement, vous devriez voir une réponse comme suit, quelle que soit l'option utilisée.

{
"name" : "opensearch-master-0",
"cluster_name" : "opensearch",
"cluster_uuid" : "M6gclrE3QLGEBlkdme8JkQ",
"version" : {
   "distribution" : "opensearch",
   "number" : "1.2.4-SNAPSHOT",
   "build_type" : "tar",
   "build_hash" : "e505b10357c03ae8d26d675172402f2f2144ef0f",
   "build_date" : "2022-02-08T16:44:39.596468Z",
   "build_snapshot" : true,
   "lucene_version" : "8.10.1",
   "minimum_wire_compatibility_version" : "6.8.0",
   "minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "The OpenSearch Project: https://opensearch.org/"
}

Tâche 4 : ingérer des données

Exécutez les commandes suivantes à partir de votre instance de machine virtuelle.

  1. Téléchargez l'exemple de jeu de données.

    curl -O https://raw.githubusercontent.com/oracle-livelabs/oci/main/oci-opensearch/files/OCI_services.json
    
  2. Créez un mappage (facultatif). Si vous n'exécutez pas cette commande ou n'importe quelle variante de celle-ci, un mappage par défaut sera automatiquement créé.

    curl -XPUT "https://mycluster.opensearch.us.example.com:9200/oci" -H 'Content-Type: application/json' -d'
    {
      "mappings": {
        "properties": {
        "id": {"type": "integer"},
        "category": {"type": "keyword"},
       "text": {"type": "text"},
       "title": {"type": "text"},
       "url": {"type": "text"}
        }
      }
    }
    '
    
  3. Propager l'ensemble de données.

    curl -H 'Content-Type: application/x-ndjson' -XPOST "https://<your_opensearch_private_IP>:9200/oci/_bulk?pretty" --data-binary @OCI_services.json
    
  4. Vérifiez vos indices.

    curl "https://mycluster.opensearch.us.example.com:9200/_cat/indices"
    # OpenSearch API endpoint example
    
    curl -X GET "https://<your_opensearch_private_IP>:9200/_cat/indices" --insecure
    # OpenSearch private IP example
    

Tâche 5 : interrogation du service de recherche OCI - Exemple de requête de recherche

Vous pouvez utiliser l'une des options suivantes :

Option 1 : à partir du shell de l'instance de machine virtuelle

curl -X GET "https://mycluster.opensearch.us.example.com:9200/oci/_search?q=title:Kubernetes&pretty"
# OpenSearch API endpoint example
curl -X GET "https://<your_opensearch_private_IP>:9200/oci/_search?q=title:Kubernetes&pretty"
# OpenSearch private IP example

Option 2 : à partir de votre terminal local, après le transfert de port

curl -X GET "https://localhost:9200/oci/_search?q=title:Kubernetes&pretty" --insecure

Option 3 : à partir de votre navigateur local, après le transfert de port

https://localhost:9200/oci/_search?q=title:Kubernetes&pretty

Pour plus d'informations sur la syntaxe des requêtes, reportez-vous aux tutoriels OpenSearch ou Elasticsearch.

Tâche 6 : connexion aux tableaux de bord OpenSearch

  1. A partir de votre machine locale, via le transfert de port.

    Remarque : ignorez cette étape si vous l'avez déjà exécutée dans les étapes précédentes et que la connexion est toujours ouverte.

    ssh -C -v -t -L 127.0.0.1:5601:<your_opensearch_dashboards_private_IP>:5601 -L 127.0.0.1:9200:<your_opensearch_private_IP>:9200 opc@<your_instance_public_ip> -i <path_to_your_private_key>
    
  2. Accédez à https://localhost:5601 dans votre navigateur.

    Remarque : actuellement, selon le navigateur, un message d'avertissement semblable à Votre connexion n'est pas privée s'affiche. Sélectionnez l'option qui vous permet de continuer quand même.

    image

Tâche 7 : rechercher et visualiser des données dans les tableaux de bord OpenSearch

  1. Une fois la connexion de transfert de port en place, accédez à https://localhost:5601 dans votre navigateur.

  2. Ouvrez le menu de navigation Tableaux de bord OpenSearch.

  3. Accédez à Gestion, Gestion de pile et cliquez sur Modèles d'index. Créez un modèle d'index nommé oci.

    image

  4. Accédez au menu Tableaux de bord OpenSearch et cliquez sur Repérer pour utiliser l'interface utilisateur Tableaux de bord OpenSearch afin de rechercher vos données.

    image

  5. Accédez au menu Tableaux de bord OpenSearch, cliquez sur Tableaux de bord et suivez les étapes ci-après pour créer un exemple de graphique à secteurs.

    1. Cliquez sur Créer, Nouvelle visualisation et Camembert.

      image

    2. Sélectionnez oci en tant que Source.

    3. Dans Buckets, cliquez sur Ajouter et développez Fractionner des tranches. Entrez les informations affichées dans l'image suivante et cliquez sur Mettre à jour.

      image

Remerciements

Ressources de formation supplémentaires

Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à d'autres contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir la documentation produit, consultez le site Oracle Help Center.