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
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 :
- Générez le catalogue avec les produits 15k.
- 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 :
- Adobe Commerce ou Magento Open Source sur site : Quality Patches Tool > Utilisation dans le guide Quality Patches Tool.
- Adobe Commerce sur l’infrastructure cloud : mises à niveau et correctifs > Appliquer les correctifs dans le guide Commerce on Cloud Infrastructure.
Lecture connexe
Pour en savoir plus sur Quality Patches Tool, voir :
- Quality Patches Tool publié : un nouvel outil pour les correctifs de qualité en libre-service dans la base de connaissances de support.
- Vérifiez si un correctif est disponible pour votre problème Adobe Commerce à l’aide de Quality Patches Tool dans le guide Quality Patches Tool.
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.