Configuration du service OpenSearch

Le service OpenSearch est un branchement open source de 7.10.2 Elasticsearch, suite aux modifications de licence de l’Elasticsearch. Voir le projet OpenSource dans GitHub.

WARNING
Elasticsearch 7.11 et versions ultérieures ne sont pas pris en charge pour Adobe Commerce sur l’infrastructure cloud. Les versions 2.3.7-p3, 2.4.3-p2 et 2.4.4 et ultérieures d’Adobe Commerce prennent en charge le service OpenSearch. Les installations sur site continuent de prendre en charge les Elasticsearch.

OpenSearch vous permet d’extraire des données de n’importe quelle source, n’importe quel format, de les rechercher et de les visualiser en temps réel.

  • Recherches rapides et avancées sur les produits du catalogue de produits
  • Les analyseurs OpenSearch prennent en charge plusieurs langues
  • Prend en charge les mots vides et les synonymes
  • L’indexation n’affecte pas les clients tant que l’opération de réindexation n’est pas terminée.

Suivez les instructions suivantes pour la configuration du service dans les environnements Pro Integration et les environnements Starter, y compris la branche master.

NOTE
Envoyez un ticket d’assistance Adobe Commerce pour modifier la configuration du service dans les environnements de production et d’évaluation.
TIP
Adobe recommande de toujours configurer OpenSearch pour votre projet d’infrastructure cloud Adobe Commerce, même si vous envisagez de configurer un outil de recherche tiers pour votre application Adobe Commerce. La configuration d’OpenSearch fournit une option de secours en cas d’échec de l’outil de recherche tiers.

Pour activer OpenSearch :

  1. Pour les environnements d’intégration Starter et Pro, ajoutez le service opensearch au fichier .magento/services.yaml avec la version appropriée et allouez de l’espace disque en Mo. Dans ce cas, la version 2 est appropriée. La version mineure n’est pas requise, car l’infrastructure cloud utilise la dernière version d’OpenSearch.

    code language-yaml
    opensearch:
        type: opensearch:2
        disk: 1024
    

    Pour les projets Pro, vous devez envoyer un ticket d’assistance Adobe Commerce pour modifier la version OpenSearch dans les environnements d’évaluation et de production.

  2. Définissez ou vérifiez la propriété relationships dans le fichier .magento.app.yaml.

    code language-yaml
    relationships:
        opensearch: "opensearch:opensearch"
    
  3. Ajout, validation et modification du code push.

    code language-bash
    git add .magento/services.yaml .magento.app.yaml
    
    code language-bash
    git commit -m "Enable OpenSearch"
    
    code language-bash
    git push origin <branch-name>
    

    Pour plus d'informations sur la façon dont ces modifications affectent vos environnements, voir Configuration des services.

  4. Une fois le processus de déploiement terminé, utilisez SSH pour vous connecter à l’environnement distant.

    code language-bash
    magento-cloud ssh
    
  5. Réindexez l’index de recherche catalogue.

    code language-bash
    bin/magento indexer:reindex catalogsearch_fulltext
    
  6. Nettoyez le cache.

    code language-bash
    bin/magento cache:clean
    
TIP
Après la configuration initiale du service, vous pouvez modifier la version logicielle d'un service installé en mettant à jour les fichiers de configuration services.yaml et .magento.app.yaml. Voir Modification de la version de service pour obtenir des conseils sur la mise à niveau ou la mise à niveau d’un service.

Compatibilité des logiciels OpenSearch

Lorsque vous installez ou mettez à niveau votre Adobe Commerce sur le projet d’infrastructure cloud, vérifiez toujours la compatibilité entre la version du service OpenSearch et le client OpenSearch PHP pour Adobe Commerce.

  • Première configuration - Confirmez que la version OpenSearch spécifiée dans le fichier services.yaml est compatible avec le client PHP OpenSearch configuré pour Adobe Commerce.

  • Mise à niveau du projet - Vérifiez que le client PHP OpenSearch de la nouvelle version de l’application est compatible avec la version du service OpenSearch installée sur l’infrastructure cloud.

La prise en charge de la version du service et de la compatibilité est déterminée par les versions testées et déployées sur l’infrastructure cloud et diffère parfois des versions prises en charge par les déploiements sur site d’Adobe Commerce. Pour obtenir la liste des versions prises en charge, reportez-vous à la section Configuration système requise du Guide d’installation.

Pour vérifier la compatibilité des logiciels OpenSearch :

  1. Sur votre poste de travail local, modifiez le répertoire de votre projet.

  2. Affichez les détails OpenSearch pour l’environnement actif.

    code language-bash
    magento-cloud relationships --property=opensearch
    
  3. Vous pouvez également utiliser SSH pour vous connecter à l’environnement distant.

    code language-bash
    magento-cloud ssh
    
  4. Récupérez les détails de connexion du service OpenSearch.

    code language-bash
    vendor/bin/ece-tools env:config:show services
    

    Dans la réponse, recherchez l’adresse IP et le port du point d’entrée du service OpenSearch :

    code language-none
    +------------------------------------------+--------------------------------------------------------+
    | opensearch:                                                                                       |
    +------------------------------------------+--------------------------------------------------------+
    | username                                 | null                                                   |
    | scheme                                   | http                                                   |
    | service                                  | opensearch                                             |
    | fragment                                 | null                                                   |
    | ip                                       | 169.254.220.11                                         |
    | hostname                                 | hostf75wi3sd24l.opensearch.service._.magentosite.cloud |
    | port                                     | 9200                                                   |
    | cluster                                  | projectID-develop-4ranwui                              |
    | host                                     | opensearch.internal                                    |
    | rel                                      | opensearch                                             |
    | path                                     | null                                                   |
    | query                                    |                                                        |
    | password                                 | null                                                   |
    | type                                     | opensearch:2                                           |
    | public                                   | false                                                  |
    | host_mapped                              | false                                                  |
    
  5. Récupérez le service OpenSearch version:number installé à partir du point de terminaison du service.

    code language-bash
    curl -XGET <opensearch-service-endpoint-ip-address>:9200
    
    code language-json
    {
       "name" : "opensearch.0",
       "cluster_name" : "opensearch",
       "cluster_uuid" : "_yzaae6-ywSEW1MaAF8ZPWyQ",
       "version" : {
         "distribution" : "opensearch",
         "number" : "2.5.0",
         "build_type" : "deb",
         "build_hash" : "aaaaaaa",
         "build_date" : "2023-01-23T12:07:18.760675Z",
         "build_snapshot" : false,
         "lucene_version" : "9.4.2",
         "minimum_wire_compatibility_version" : "7.10.0",
         "minimum_index_compatibility_version" : "7.0.0"
    },
    "tagline" : "The OpenSearch Project: https://opensearch.org/"
    }
    
TIP
Pour les projets Pro, vous devez envoyer un ticket d’assistance Adobe Commerce pour installer ou mettre à jour services dans les environnements Staging et Production uniquement.
Indiquez les modifications de service nécessaires, incluez vos fichiers .magento.app.yaml et services.yaml mis à jour et indiquez la version PHP dans le ticket. Pour les modifications en libre-service apportées à la version PHP, aux extensions ou aux paramètres d’environnement, voir Paramètres PHP dans la configuration de l’application.
Pour les modifications apportées à un environnement de production live (Pro uniquement), vous devez fournir un préavis d’au moins 48 heures afin de permettre à l’équipe d’infrastructure Cloud de disposer de suffisamment de temps pour mobiliser des ressources et réaliser une mise à niveau sécurisée.

Redémarrer le service OpenSearch

Si vous devez redémarrer le service OpenSearch, vous devez contacter le support Adobe Commerce.

Configuration de recherche supplémentaire

  • Par défaut, la configuration de recherche des environnements Cloud se régénère chaque fois que vous déployez. Vous pouvez utiliser la variable de déploiement SEARCH_CONFIGURATION pour conserver les paramètres de recherche personnalisés entre les déploiements. Voir Déploiement de variables.

  • Après avoir configuré le service OpenSearch pour votre projet, utilisez l’interface utilisateur d’administration pour tester la connexion OpenSearch et personnaliser les paramètres OpenSearch pour Adobe Commerce.

Ajout de modules externes pour OpenSearch

Vous pouvez éventuellement ajouter des modules externes pour OpenSearch en ajoutant la section configuration:plugins au service OpenSearch dans le fichier .magento/services.yaml. Par exemple, le code suivant active les modules complémentaires Analyse de l’ICU et Analyse phonétique.

opensearch:
    type: opensearch:2
    disk: 1024
    configuration:
        plugins:
            - analysis-icu
            - analysis-phonetic

Pour plus d’informations sur les modules externes, voir le projet OpenSearch .

Suppression de modules externes pour OpenSearch

La suppression des entrées du module externe de la section opensearch: du fichier .magento/services.yaml ne désinstalle pas ni ne désactive le service. Pour désactiver complètement le service, vous devez réindexer vos données OpenSearch après avoir supprimé les modules externes de votre fichier .magento/services.yaml. Cette conception empêche la perte ou la corruption possible des données qui dépendent de ces modules externes.

Pour supprimer les modules externes OpenSearch :

  1. Supprimez les entrées du module externe OpenSearch de votre fichier .magento/services.yaml.

  2. Ajoutez, validez et poussez vos modifications de code.

    code language-bash
    git add .magento/services.yaml
    
    code language-bash
    git commit -m "Remove OpenSearch plugin"
    
    code language-bash
    git push origin <branch-name>
    
  3. Validez les modifications .magento/services.yaml apportées à votre référentiel cloud.

  4. Réindexez l’index de recherche catalogue.

    code language-bash
    bin/magento indexer:reindex catalogsearch_fulltext
    
  5. Nettoyez le cache.

    code language-bash
    bin/magento cache:clean
    
recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26