Modifications du schéma d'index Elasticsearch

Les modifications suivantes du schéma d'index Elasticsearch sont des améliorations liées aux performances et à la personnalisation qui ont été introduites avec HCL Commerce versions 9.1.7.0 et 9.1.9.0.

HCL Commerce Version 9.1.9.0 or later

Schéma de produit

Les personnalisations qui impliquent des facettes peuvent rencontrer des restrictions dans HCL Commerceversions 9.1.9.0 et ultérieures. Le type facets a été modifié de object à flattened, comme défini dans Ingest/config/product_elastic_schema.json.
"facets": {
  "type": "flattened"
}
Pour plus d'informations sur les fonctions et les limitations de ce type de zone, voir Type de zone aplati dans le guide Elasticsearch.
HCL Commerce Version 9.1.7.0 or later

Schéma de catégorie

Elément Modification de schéma
_id Dans les éditions 9.1.7.0 et ultérieures, les ID de catégorie sont simplifiés en supprimant les entrées basées sur parentCategoryId.
  • Dans les éditions 9.1.6.0 et antérieures, chaque fois qu'une catégorie est liée sous une autre catégorie parent, un nouveau document est généré.
    La zone _id est construite selon le format suivant :
    storeId-langId-catalogId-parentCategoryId-categoryId
    Par exemple, Habillement (categoryId=1) est une catégorie de niveau supérieur (parentCategoryId=-1) dans le catalogue principal (catalogId=10001) et le catalogue de vente (catalogId=10502) dans le magasin AuroraESite (storeId=1) :
    "_id": "1--1-10001--1-1"
    "_id": "1--1-10502--1-1"
    Si une catégorie, Robe (categoryId=10001) est liée sous une autre catégorie de vente (categoryId=3074457345616677668), trois documents sont associés à l'_id suivant :
    "_id": "1--1-10001-3-10001"
    "_id": "1--1-10502-3-10001"
    "_id": "1--1-10502-3074457345616677668-10001"
  • HCL Commerce Version 9.1.7.0 or laterDans les éditions 9.1.7.0 et ultérieures, la même catégorie dans le même catalogue ne contient qu'un seul document.
    La zone _id est au format suivant :
    storeId-langId-catalogId-categoryId
    Pour le même exemple Habillement ci-dessus, la zone _id de la catégorie a le format :
    "_id": "1--1-10001-1"
    "_id": "1--1-10502-1"
    Pour la catégorie Robe, qui est liée dans une autre catégorie de vente, Achats tendance, il existe deux documents :
    "_id": "1--1-10001-10001"
    "_id": "1--1-10502-10001"
category Dans les éditions 9.1.7.0 et ultérieures, les définitions de catégorie sont simplifiées en entrées simples, en leur permettant d'être définies avec plusieurs parents.

Catégories de niveau supérieure

  • Dans les éditions 9.1.6.0 et antérieures, l'élément category a les éléments path et child.
    "category": {
        "sequence": 4.0,
        "catalog": "10001",
        "path": {
            "name": [
                "Apparel"
            ],
            "id": [
                "1"
            ]
        },
        "child": [
            "2",
            "3",
            "4",
            "5"
        ]
    }
  • Dans les éditions 9.1.7.0 et ultérieures, l'élément child est déplacé au même niveau que l'élément category et l'élément path est supprimé.
    "category": [
        {
        "parent": "-1",
        "sequence": 1.0
        }
    ]
        "child": [
        "2",
        "3",
        "4",
        "5"
    ]
Catégories Feuille

Une catégorie de feuilles, Robe, se trouve sous la catégorie Femmes, ainsi que dans la catégorie de vente Achats tendance

  • Dans les éditions 9.1.6.0 et antérieures :
    • Il existe deux documents dans le catalogue de vente ( 10502 ). Un document se trouve sous la catégorie Femmes (3), et un second document concerne la catégorie Achats tendance (3074457345616677668).
    • Chaque document dispose d'un élément de chemin de valeur unique.
    • "category": {
          "parent": 3,
          "sequence": 0.0,
          "catalog": "10502",
          "path": {
              "name": [
                  "Apparel",
                  "Women",
                  "Dresses"
              ],
              "id": [
                  "1",
                  "3",
                  "10001"
              ]
          }
      }
      "path": /1/3/10001"
    • "category": {
          "parent": 3074457345616677668,
          "sequence": 0.0,
          "catalog": "10502",
          "path": {
              "name": [
                  "Hot Buys",
                  "Dresses"
              ],
              "id": [
                  "3074457345616677668",
                  "10001"
              ]
          }
      }
      "path": "/1/3/3074457345616677668"
  • HCL Commerce Version 9.1.7.0 or laterDans les éditions 9.1.7.0 et ultérieures :
    • Il n'y a qu'un seul document dans le catalogue de vente. Il contient à la fois la catégorie Femmes (3), et la catégorie Achats tendance (3074457345616677668).
    • L'élément de chemin peut désormais contenir plusieurs valeurs.
    • L'élément de séquences se trouve au même niveau que category, pour le tri.
    "category": [
        {
        "parent": 3,
        "sequence": 0.0
        },
        {
        "parent": 3074457345616677668,
        "sequence": 0.0"
        }
    ]
    
    "path": [
        "/1/3/10001",
        "3074457345616677668/10001"
    ]
    
    "sequences": {
        "3": {
            "sequence": 0.0
        },
        "3074457345616677668": {
            "sequence": 0.0
        }
    }
HCL Commerce Version 9.1.7.0 or later

Schéma de produit

Elément Modification de schéma
identifier Dans les éditions 9.1.7.0 et ultérieures, l'élément pn est supprimé. Cela est dû au fait qu'il duplique les valeurs de l'élément sku.
Par exemple :
  • Dans les éditions 9.1.6.0 et antérieures :
    "identifier": {
        "specification": "product",
        "language": "en_US",
        "sku": {
            "normalized": "AuroraWMDRS-1",
            "raw": "AuroraWMDRS-1"
        }
        "pn": {
            "normalized": "AuroraWMDRS-1",
            "raw": "AuroraWMDRS-1"
        }   
    }
  • Dans les éditions 9.1.7.0 et ultérieures :
    "identifier": {
        "specification": "product",
        "language": "en_US",
        "sku": {
            "normalized": "AuroraWMDRS-1",
            "raw": "AuroraWMDRS-1"
        }
    }
category Dans les éditions 9.1.7.0 et ultérieures, l'élément category est simplifié en supprimant des entrées path. Ces informations sont placées dans un élément homologue, path_name. L'entrée category contient uniquement des catégories parent directes. Cela élimine de nombreuses entrées en double.
Par exemple :
  • Dans les éditions 9.1.6.0 et antérieures :
    "category": {
        "10001-1-3-10001": {
            "parent": "10001",
            "sequence": "1",
            "path": {
                "name": [
                    "Apparel",
                    "Women",
                    "Dresses"
                ]
                "id": [
                    "1",
                    "3",
                    "100001",
                ]
            },
            "catalog": "10001",
            "name": "Dresses"
        },
        "10502-1-3-10001": {
            "parent": "10001",
            "sequence": "1",
            "path": {
                "name": [
                    "Apparel",
                    "Women",
                    "Dresses"
                ]
                "id": [
                    "1",
                    "3",
                    "10001",
                ]
            },
            "catalog": "10502",
            "name": "Dresses"
        }
        "10502-3074457345616677668-10001": {
            "parent": "10001",
            "sequence": "1",
            "path": {
                "name": [
                    "Hot Buys",
                    "Dresses"
                ]
                "id": [
                    "1",
                    "3",
                    "3074457345616677668",
                ]
            },
            "catalog": "10502",
            "name": "Dresses"
        }
    }
  • Dans les éditions 9.1.7.0 et ultérieures :
    "category": {
        "10502-10001": {
            "sequence": "1",
            "name": "Dresses",
            "id": "10001"
        },
        "10001-10001": {
            "sequence": "1",
            "name": "Dresses",
            "id": "10001"
        }
    }
    "path_name": {
        "10001": [
            "Women",
            "Dresses",
            "Apparel"
        ]
        "10502": [
            "Women",
            "Dresses",
            "Apparel",
            "Hot Buys"
        ]
    }
attributes Dans les éditions 9.1.7.0 et ultérieures, l'élément key est supprimé. Cela est dû au fait qu'il duplique les valeurs de l'élément id.
Par exemple :
  • Dans les éditions 9.1.6.0 et antérieures :
    "attributes": {
        "70000000000000006": {
            "identifier": "occasion",
            "usage": "Descriptive",
            "displayable": true,
            "ribbon": false,
            "merchandisable": false,
            "searchable": false,
            "sequence": 1.0,
            "name": {
                ...
            },
            "facetable": false,
            "id": "70000000000000006",
            "comparable": true,
            "value": [
                ...
            ],
            "key": "70000000000000006",
            "swatchable": false
        }
    }
  • Dans les éditions 9.1.7.0 et ultérieures :
    "attributes": {
        "70000000000000006": {
            "identifier": "occasion",
            "usage": "Descriptive",
            "displayable": true,
            "ribbon": false,
            "merchandisable": false,
            "searchable": false,
            "sequence": 1.0,
            "name": {
                ...
            },
            "facetable": false,
            "id": "70000000000000006",
            "comparable": true,
            "value": [
                ...
            ],
            "swatchable": false
        }
    }