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

Présentation

La recherche dans Oracle Cloud Infrastructure (OCI) avec OpenSearch est un moteur de données clés offert 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 de grands volumes de données rapidement et voir les résultats en temps quasi réel. Oracle automatise, sans temps d'arrêt, les activités qui comprennent l'application de correctifs, la mise à jour, la mise à niveau, la sauvegarde et le redimensionnement du service.

Objectifs

Préalables

  1. Créez les politiques de service requises dans la console OCI. Remplacez any-user par le groupe souhaité et indiquez le chemin d'accès au compartiment si nécessaire.

    Politiques 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 privé.

    • Processus simplifié :

      1. Allez à la console OCI et ouvrez le menu de navigation.

      2. Cliquez sur Réseaux et Réseaux en nuage virtuels.

      3. Cliquez sur Start VCN Wizard et Create VCN with Internet Connectivity.

    • Processus personnalisé :

      1. Allez à la console OCI et ouvrez le menu de navigation.

      2. Cliquez sur Réseaux et Réseaux en nuage virtuels.

      3. Cliquez sur Créer un VCN et entrez les détails de votre choix.

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

    1. Allez à la console OCI et ouvrez le menu de navigation.

    2. Cliquez sur Calcul et 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 Réseau, sélectionnez le sous-réseau public et affectez une adresse IP publique.

    7. Dans la section Ajouter des clés SSH, déterminez si vous voulez 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é.

Note : Dans ce tutoriel, une instance Mac et Oracle Linux ont été utilisées. Les instructions de ligne de commande Windows peuvent différer.

Tâche 1 : Créer une grappe de services de recherche OCI

  1. Allez à la console OCI, naviguez jusqu'à Bases de données, Service de recherche OCI, Grappes et cliquez sur Créer une grappe. Entrez le nom de la grappe et le compartiment dans lesquels vous voulez créer la grappe, puis cliquez sur Suivant.

    Image

  2. Sélectionnez la taille de la grappe et cliquez sur Suivant.

    Image

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

    Image

    Après la création de la grappe, dans la page des détails de la grappe du service de recherche OCI, notez les points d'extrémité 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é du VCN

Dans le VCN, créez une liste de sécurité avec les règles de sécurité suivantes. Vous pouvez également les ajouter à la liste de sécurité par défaut du VCN.

  1. Dans la page Détails du réseau en nuage virtuel, cliquez sur Listes de sécurité, Liste de sécurité et Ajouter des règles de trafic entrant.

    Note : 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 : Tester la connexion au service de recherche OCI - Point d'extrémité 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 l'une des 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 : De votre machine locale, par le transfert de port

  1. Exécutez la commande SSH de réacheminement 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 le jeu de données-échantillons.

    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. Transmettre le jeu 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 : Interroger le service de recherche OCI - Exemple d'interrogation de recherche

Vous pouvez utiliser l'une des options suivantes.

Option 1 : À partir de l'interpréteur de commandes 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 : De votre terminal local, après le transfert du port

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

Option 3 : À partir de votre navigateur local, après le réacheminement du port

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

Pour plus d'informations sur la syntaxe d'interrogation, voir les tutoriels OpenSearch ou Elasticsearch.

Tâche 6 : Se connecter aux tableaux de bord OpenSearch

  1. De votre machine locale, par transfert de port.

    Note : 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.

    Note : Selon le navigateur, un message d'avertissement similaire à Votre connexion n'est pas privée s'affiche actuellement. 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 de OpenSearch Dashboards.

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

    Image

  4. Allez au menu Tableaux de bord OpenSearch et cliquez sur Détecter pour utiliser l'interface utilisateur Tableaux de bord OpenSearch pour rechercher vos données.

    Image

  5. Allez au menu Tableaux de bord OpenSearch, cliquez sur Tableaux de bord et suivez ces étapes pour créer un exemple de graphique à secteurs.

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

      Image

    2. Sélectionnez oci comme source.

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

      Image

Confirmation

Autres ressources d'apprentissage

Explorez d'autres laboratoires sur la page docs.oracle.com/learn ou accédez à plus de contenu d'apprentissage gratuit sur le canal YouTube d'Oracle Learning. De plus, visitez education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.