MDVA-30284 Correctif : Elasticsearch 7 - La limite du nombre total de champs [XXXXX] dans l’index a été dépassée.

Le correctif MDVA-30284 résout le problème en raison duquel vous recevez un message d’erreur indiquant que "La limite du nombre total de champs [XXXXX] dans l’index a été dépassée" lors de l’utilisation d’Elasticsearch 7. Ce correctif est disponible lorsque l’ outil de correctifs de qualité (QPT) v.1.0.5 est installé. L’ID de correctif est MDVA-30284.

Produits et versions concernés

  • Le correctif a été conçu pour Adobe Commerce sur l’infrastructure cloud 2.3.5-p2.
  • Elasticsearch 7 est compatible avec Adobe Commerce 2.3.5 et 2.4.x
NOTE
Le correctif peut devenir applicable à d’autres versions avec les nouvelles versions de l’outil de correctifs de qualité. 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

La limite des champs Elasticsearch est incorrecte, ce qui entraîne l’erreur suivante lors de l’exécution de l’indexeur [catalogsearch_fulltext] :

La limite du nombre total de champs [xxx] dans l’index [xxxxxx] a été dépassée

Ce problème se produit lorsque vous disposez d’un grand nombre d’attributs de produit. Le problème est déclenché par la manière dont Elasticsearch calcule le nombre de champs. Parfois, lorsqu’il y a des attributs auxquels des champs sont affectés, ces champs sont indexés en tant qu’indexeurs distincts. La limite ayant été dépassée, l’avertissement s’affiche.

Étapes à reproduire :

Conditions préalables

  • Module-élasticsearch installé 100.3.5.
  • Elasticsearch 7 installé.
  • Configurez Elasticsearch comme serveur principal de recherche.
  1. Créez plus de 1 000 attributs pour les produits.
  2. Créez des produits pour chaque famille.
  3. Exécutez l’indexeur.

Résultat attendu :

Tous les produits sont disponibles dans l’index Elasticsearch.

Résultat réel :

  1. Erreur de l’Elasticsearch :

    code language-none
     {"error":{"root_cause":[{"type":"illegal_argument_exception","reason":"Limit
     of total fields [3000] in index [magento2_product_2_v11] has been exceeded"}],"type":"illegal_argument_exception","reason":"Limit
     of total fields [3000] in index [magento2_product_2_v11] has been exceeded"},"status":400}
    
  2. Le nouveau produit n’a pas été indexé.

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 l’outil Correctifs de qualité, consultez :

Pour plus d’informations sur les autres correctifs disponibles dans QPT, reportez-vous à la section Correctifs disponibles dans QPT de notre documentation destinée aux développeurs.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a