ACSD-55100 : GraphQL ne renvoie pas de produits au-delà de 10K dans les résultats de recherche

Le correctif ACSD-55100 corrige le problème où GraphQL ne renvoie pas de produits au-delà de 10k dans les résultats de recherche. Ce correctif est disponible lorsque Quality Patches Tool (QPT) 1.1.46 est installé. L’ID de correctif est ACSD-55100. Veuillez noter que le problème doit être corrigé dans Adobe Commerce 2.4.7.

Produits et versions concernés

Le correctif est créé pour la version Adobe Commerce :

  • Adobe Commerce (toutes les méthodes de déploiement) 2.4.6

Compatible avec les versions d’Adobe Commerce :

  • Adobe Commerce (toutes les méthodes de déploiement) 2.4.6 - 2.4.6-p3
NOTE
Le correctif peut devenir applicable à d’autres versions avec de nouvelles versions Quality Patches Tool. Pour vérifier si le correctif est compatible avec votre version Adobe Commerce, mettez à jour le package magento/quality-patches vers la dernière version et vérifiez la compatibilité sur la Quality Patches Tool : recherchez des correctifs sur la page. Utilisez l’ID de correctif comme mot-clé de recherche pour localiser le correctif.

Problème

GraphQL ne renvoie pas de produits au-delà de 10k dans les résultats de recherche.

Conditions préalables :

Dans le cas de OpenSearch, vérifiez que vous utilisez la dernière version disponible.

Pour résoudre le problème signalé, la fonctionnalité Point dans le temps est introduite, disponible après OpenSearch 2.5.0 et qui nécessite la version 2.2 du package opensearch-project/opensearch-php.

Cependant, il existe un conflit avec magento/magento-cloud-metapackage, qui spécifie une dépendance sur le package opensearch-project/opensearch-php qui doit être inférieure à la version 2.0.1.

Cette dépendance empêche la mise à jour du package [opensearch-project/opensearch-php] vers la dernière version 2.2.

Par conséquent, le système rencontre l’erreur suivante et renvoie des résultats nuls pour les produits supérieurs à 10,000.

Namespace [createPointInTime] not found in /vendor/opensearch-project/opensearch-php/src/OpenSearch/Client.php:135

La dépendance existante rend difficile l’ajout direct d’une version au fichier composer.json et la mise à jour du package opensearch-project/opensearch-php vers la version 2.2.

Pour résoudre ce problème, insérez la ligne suivante dans votre fichier principal composer.json sous le bloc require (Obligatoire). Ensuite, redéployez pour mettre à jour le package problématique vers la dernière version.

"opensearch-project/opensearch-php": "2.2.0 as 2.0.0",

Étapes à reproduire :

  1. Générez le catalogue avec les produits 15k.
  2. Envoyez le GraphQL :
    query {
    products(
    filter: {
    # category_id:{eq:""}
    }
    , pageSize: 5, currentPage: 1

    ) {
    total_count
    page_info {
    current_page
    page_size
    total_pages
     }

     aggregations {

    attribute_code
    count
    label
    options {
    label
    value

    }
    }

    items {
    uid
    sku
    is_for_clearance
    categories {
    name
    breadcrumbs {
    category_name
    category_uid
    }
    display_mode
    description
    }
    }
    }
    }

Résultats attendus :

Total_count = 15k
Vous devriez être en mesure d’afficher tous les produits.

Résultats réels :

Total_count = 10k
Vous ne pouvez pas obtenir d’autres produits à afficher après le lot 10k.

Appliquer le correctif

Pour appliquer des correctifs individuels, utilisez les liens suivants en fonction de votre méthode de déploiement :

Lecture connexe

Pour en savoir plus sur Quality Patches Tool, voir :

Pour plus d'informations sur les autres correctifs disponibles dans QPT, reportez-vous à Quality Patches Tool : Recherche de correctifs dans le guide Quality Patches Tool.

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3