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
) tocatalogId-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.
- The id of category has changed from
- vi. 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" },
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.