HCL Commerce Version 9.1.10.0 or later

Release changes to schemas

While upgrading your schema customizations, pay particular attention to the following changes to the Product and Category schemas. A new Product property was added for attachments in Version 9.1.8.0, and there have been group, category, and name changes in the schema. The Category schema has been simplified, which may also necessitate changes to your customizations.

Product schema changes

Note: If you are upgrading from HCL Commerce 9.1.8 to Versions 9.1.8.1 or to 9.1.9.x, skip to iv. Added group to variant relationship property definitions.
i. A store property has been added to attachments
This store property is used to build the correct attachment path according to which store this attachment is added. In the following example, the added property follows the id property and is bolded.
"attachments": {
    {
        "identifier": "AuroraMDRS-1_swatchcolor_red",
        "sequence": 0.0,
        "name.raw": "",
        "description.raw": "",
        "mime": "image/jpg",
        "rule": "SWATCH_IMAGE",
        "id": 2283",
        "store": "10501",
        "url": "images/catalog/apparel/women/wc1000_dresses/patternswatches_28x28_a_red_s.jpg"
    },
ii. pn has been removed from identifier definitions
You no longer need to specify the pn property in identifiers. The pn element resembles the following example; remove it from schema identifier definitions.
"pn": {
    "normalized": "AuroraWMDRS-001",
    "raw": "AuroraWMDRS-001",
    "parent": "AuroraWMDRS-1"
}
iii. Renamed workspaceName to workspace_name
The "workspaceName" element has been renamed to "workspace_name" for consistent name convention. For example:
"workspace_name": "Base",
iv. Added group to variant relationship property definitions
If an item belongs to a variant, the group element needs to support grouping in search result. Previously the variant property had two elements, "sequence" and "id". Add "group" as follows. You can use the example given in i. A store property has been added to attachments as a further guideline.
"variant": {"sequence": [0.0],
    "id": ["14200"],
    "group": ["14200"]
}
v. Simplified category and path
Changes have been made to shorten the category path and correct some restrictions when dealing with linked categories. Changes include:
  • The id of category has changed from catalogId-parentCategoryId-categoryId (11501-10501-10502) to catalogId-categoryId (11501-10502).
  • "parent" has been renamed to "id".
  • "catalog" has been moved under "path_name".
  • "path" has been moved out and renamed to "path_name". The "id" section has been removed and the catalog ID added as the unique ID of each path.
HCL Commerce Version 9.1.8.0 or latervi. Map explosion solution
Defining too many fields in an index can lead to a mapping explosion, which can cause out-of-memory errors. This occurs because the attribute section of the product index creates a dynamic mapping for each attribute and when you have a large amount of attribute data, this expands in a "mapping explosion." To prevent this, a facets section has been added to the product schema attributes. This addition was done in two phases. In the first, the ID property was removed and a facets property added:
"facets": {
    "type": "object"
},
In the second phase, the facets "type" element has been changed from "object" to "flattened".
Consequently, you resolve the mapping explosion by making changes in two places:
  1. Inside custom profiles, change the responseField from attributes.* to attribute.source.
  2. In the post processor phase, parse through source strings and assign the values to their respective API response field.
While searching or doing aggregation, you can use fields other than sourcing from attribute and facet fields at the base level.
Important: If you have customized the attributes field, you can now use the field attribute because it has been redesigned to store attribute data as a single string.

Category schema changes

Note: The following Category schema update only applies if you are upgrading from HCL Commerce Version 9.1.7 or earlier.
Category hierarchy simplification
  • “path” and “child” have been moved from under “category” to the same level as “category”.
  • “catalog” was removed from under “category” as the whole document is under the catalog.
  • “name” has been removed from “path” and the “id” array has been changed to a path string.
  • A “sequences” section has been added to indicate the sequence under the parent category. It is used by the Query service.