![HCL Commerce Version 9.1.12.0 or later](../../base/images/91120plus.png)
Cambios de esquema
En un índice basado en eSite, cada tienda eSite tiene su propia copia de documentos de catálogo, categoría, producto y atributo. La mayoría de los datos de estos documentos son iguales. Esto provoca que haya una gran cantidad de datos duplicados. En el diseño de esquema de índices basados en tiendas con elementos, todas las tiendas eSite comparten el mismo documento de catálogo, categoría, producto y atributo.
Esquemas de tienda
"id": {
"default": {
"contract": "-11005",
"language": "-1",
"fulfillment": "13001",
"catalog": "11501"
},
"asset_store": 12001,
Esquemas de catálogo
auth.1.catalog
, donde 1
es el ID de tienda de la tienda Aurora ESite. Cada tienda eSite tiene su propio índice de catálogo. El ID exclusivo de cada documento de catálogo es storeId-langId-catalogId
. {
"_index": ".auth.1.catalog.202302271924",
"_type": "_doc",
"_id": "1--1-10502",
"_score": 1.0,
"_source": {
"identifier": {
"catalog": "Extended Sites Catalog Asset Store Consumer Direct",
"specification": "catalog",
"language": "en_US"
},
"name": {
"normalized": "Aurora consumer direct sample data",
"raw": "Aurora consumer direct sample data"
},
"description": {
"raw": "Aurora Consumer Direct sample data"
},
"id": {
"catalog": "10502",
"member": "7000000000000001001",
"language": "-1",
"store": "1"
},
En el modelo de índice CAS, el ID de tienda que aparece en el nombre del índice de catálogo es el ID de tienda con elementos de catálogo, por ejemplo, auth.10501.catalog
, donde 10501
es el ID de tienda de la tienda con elementos de catálogo. Todas las tiendas eSite comparten el mismo índice de catálogo. El ID exclusivo de cada documento de catálogo es catalogId-langId
.
10502
), y hay un documento para inglés. El id.store es ahora una lista de ID de tienda, incluidos el ID de tienda con elementos de catálogo y todos los ID de tienda eSite, que heredan el siguiente catálogo: 10501,1,2, 12, 22
, como se muestra en el siguiente ejemplo. {
"_index": ".auth.10501.catalog.202302271955",
"_type": "_doc",
"_id": "10502--1",
"_score": 1.0,
"_source": {
"identifier": {
"catalog": "Extended Sites Catalog Asset Store Consumer Direct",
"specification": "catalog",
"language": "en_US"
},
"name": {
"normalized": "Aurora consumer direct sample data",
"raw": "Aurora consumer direct sample data"
},
"description": {
"raw": "Aurora Consumer Direct sample data"
},
"id": {
"catalog": "10502",
"member": "7000000000000001001",
"language": "-1",
"store": [
"22",
"1",
"12",
"2",
"10501",
"32"
]
},
{
"_index": ".auth.10501.catalog.202302271955",
"_type": "_doc",
"_id": "10001--1--3050--3050",
"_score": 1.0,
"_source": {
"id": {
"catalog": "10001",
"language": "-1",
"store": "12"
},
"filters": [
{
"identifier": "Demoorg01CatalogFilter",
"usage": "",
"query": "( +*:* -path.tree:(\"1\" \"6\" \"7\" \"8\" \"9\" \"10\" \"13\" \"15\"))",
"id": {
"filter": "-3050",
"expression": "-3050",
"contract": "",
"member": ""
},
"store": "12"
}
],
Esquema de atributo
auth.1.attribute
(1
es el ID de tienda de la tienda AuroraESite). Cada tienda eSite tiene su propio índice de atributos. El ID exclusivo de cada documento de atributo es storeId-langId-attributeId. El id.store es el ID de la tienda eSite. {
"_index": ".auth.1.attribute.202302271924",
"_type": "_doc",
"_id": "1--1-7000000000000000011",
"_score": 1.0,
"_source": {
"id": {
"language": "-1",
"attribute": "7000000000000000011",
"store": "1"
},
En el modelo de índice CAS, el ID de tienda que se encuentra en el nombre del índice de atributo es el ID de tienda con elementos de catálogo, por ejemplo, auth.10501.attribute
(10501
es el ID de tienda de la tienda con elementos de catálogo). Todas las tiendas eSite comparten el mismo índice de atributos. El ID exclusivo de cada documento de atributo es attributeId-langId.
10501
(ID de tienda con elementos de catálogo). Si el atributo se crea en una tienda AuroraESite (1), el id.store es 1, tal y como se muestra en el ejemplo siguiente. {
"_index": ".auth.10501.attribute.202302271955",
"_type": "_doc",
"_id": "7000000000000000011--1",
"_score": 1.0,
"_source": {
"id": {
"language": "-1",
"attribute": "7000000000000000011",
"store": "10501"
},
Si el valor del atributo se crea en una tienda eSite (ID de tienda AuroraESite 1), el "store” : ”1”
perteneciente al valor se utiliza para indicar que se trata de un valor de atributo local.Esquemas de página (sustituyen al esquema de URL)
El índice de URL se ha sustituido por el nuevo índice de página.
El índice de URL original incluye todas las categorías y productos. Como resultado, su tamaño es grande y la información que contiene es en gran medida redundante, porque las URL de SEO de categoría y producto ya se han indexado en el índice de categorías y en el índice de productos. Además, el índice de URL no es compatible con varios idiomas (no hay ningún ID de idioma en el ID del documento de URL).
En el modelo de índice CAS, un índice de página sustituye el índice de URL en el modelo de índice de eSite. El índice de página solo indexa páginas de URL definidas en la tabla de bases de datos SEOPAGEDEF. El número de documentos en el índice de página es mucho menor que en el índice de URL. El documento de página solo contiene un elemento de plantilla, no contiene ningún elemento de página. El elemento de página se genera basándose en la plantilla durante el tiempo de ejecución.
storeId-url.id
. El url.id es el ID exclusivo de la tabla SEOURLKEYWORD. {
"_index": ".auth.1.url.202302271924",
"_type": "_doc",
"_id": "1-21059",
"_score": 1.0,
"_source": {
"template": {
"name": "PRODUCT_PAGE",
"type": "ItemPage",
"title": "<seo: ProductName/> | <seo: StoreName/>",
"meta": {
"image": "Image for <seo: ProductName/> from <seo: StoreName/>",
"description": "<seo: ProductShortDescription/>",
"keyword": "<seo: ProductKeyword/> <seo: ProductManufacturerName/>"
}
},
"identifier": {
"specification": "url",
"language": "en_US",
"url": "hermitage-tweed-bomber-mcl009-092005"
},
"id": {
"catalog": "10001",
"language": "-1",
"store": "1",
"url": "21059"
},
storeId-page.id
. El page.id es el ID exclusivo de la tabla SEOURLKEYWORD. {
"_index": ".auth.10501.page.202302271955",
"_type": "_doc",
"_id": "10002--1",
"_score": 1.0,
"_source": {
"template": {
"meta": {
"image": "Image for <seo: ProductName/> from <seo: StoreName/>",
"description": "<seo: ProductShortDescription/>",
"keyword": "<seo: ProductKeyword/> <seo: ProductManufacturerName/>"
},
"name": "PRODUCT_PAGE",
"title": "<seo: ProductName/> | <seo: StoreName/>"
},
"identifier": {
"language": "en_US"
},
"id": {
"language": "-1",
"store": "10501"
},
Esquemas de categorías
Cambio de ID del documento
storeId-langId-catalogId
, como en el siguiente ejemplo: {
"_index": ".auth.1.category.202302271924",
"_type": "_doc",
"_id": "1--1-10001-12",
En el modelo de índice CAS, el ID de los documentos de categoría es catalogId-categoryId-langId
, tal y como se muestra a continuación. {
"_index": ".auth.10501.category.202302271955",
"_type": "_doc",
"_id": "10501-12--1",
id.store Cambiar
En el modelo de índice de eSite, cada tienda eSite posee su propia copia del documento de categoría. El id.store era el ID de tienda eSite (el mismo que el ID de tienda del ID exclusivo del documento)
En el modelo de índice CAS, todas las tiendas eSite comparten el mismo documento de categoría. En el modelo CAS, se cambia al ID de tienda propietaria de la categoría.
Si esta categoría se crea en una tienda con elementos de catálogo y la comparten todas sus tiendas eSite, el id.store debe ser el ID de la tienda con elementos de catálogo. Por ejemplo, si la categoría Fasteners 12
es una categoría de una tienda con elementos de catálogo, el ID de id.store debe ser el ID de tienda con elementos de catálogo (10501
).
Si la categoría se crea en una tienda eSite y solo es visible en esta tienda eSite, id.store será el ID de la tienda eSite. La siguiente captura de pantalla muestra esto en el modelo eSite.
"id": {
"catalog": "10001",
"member": "7000000000000001001",
"catgroup": "12",
"language": "-1",
"store": "1"
},
Por el contrario, el modelo CAS es tal y como se muestra a continuación. "id": {
"catalog": "10501",
"member": "7000000000000001001",
"catgroup": "12",
"language": "-1",
"store": "10501"
},
Cambio de URL de SEO
Para la categoría de URL de SEO y para realizar alteraciones temporales, el url.assetStoreId.seo
es la URL de SEO de esta categoría perteneciente a la tienda con elementos de catálogo. Por ejemplo, una URL de SEO puede ser url.10501.seo
.
Si un eSite ha alterado temporalmente una URL de SEO, esta URL se añade como url.eSiteStoreId.seo
. Por ejemplo, url.1.so
.
Los SEO antiguos se definen en la matriz old_seos. Por ejemplo, url.1.old_seos
.
"url": {
"image": "images/catalog/hardware/fasteners/category/catr_hw_fasteners.png",
"thumbnail": "images/catalog/hardware/fasteners/category/catr_hw_fasteners.png",
"seo": "/fasteners"
},
"url": {
"10501": {
"image": "images/catalog/hardware/fasteners/category/catr_hw_fasteners.png",
"thumbnail": "images/catalog/hardware/fasteners/category/catr_hw_fasteners.png",
"seo": "/fasteners"
},
"2": {
"old_seos": [
"/fasteners"
],
"seo": "/fasteners-aurorab2b"
}
},
Cambio de faceta
"facet": [
{
"sequence": 1.1,
"search": true,
"display": {
"zero": false,
"limit": 20,
"multiple": true,
"order": 1
},
"displayable": false,
En el modelo de índice de tiendas con elementos, las variables visualizables y de secuencia cuentan con una lista de valores para todas las tiendas eSite.
En el ejemplo siguiente, los clientes no pueden visualizar la faceta Boys Pants’s Material
, y la secuencia es 1.1 en la tienda AuroraESite.
“1”: false
) y la secuencia es 1.1 (“1”: 1.1
): {
"sequence": {
"22": 0.0,
"1": 1.1,
"12": 0.0,
"2": 0.0,
"32": 0.0
},
"search": true,
"display": {
"zero": false,
"limit": -1,
"multiple": false,
"order": 0
},
"displayable": {
"22": true,
"1": false,
"12": true,
"2": true,
"32": true
},
"id": "3074457345618268605",
"attribute": {
"identifier": "Material",
"name": "Material",
"ribbon": false,
"id": "7000000000000000009",
"swatchable": false
},
Esquema de producto
{
"_index": ".auth.1.product.202302271924",
"_type": "_doc",
"_id": "1--1-10001-10001",
{
"_index": ".auth.10501.product.202302271955",
"_type": "_doc",
"_id": "10001--1",
"name": {
"text_en_US": "Hermitage Fit and Flare Dress",
"normalized": "hermitage fit and flare dress",
"raw": "Hermitage Fit and Flare Dress",
"text": "Hermitage Fit and Flare Dress",
"override": {
"text_en_US": "Hermitage Fit and Flare Dress - auroraesite",
"normalized": "hermitage fit and flare dress - auroraesite",
"raw": "Hermitage Fit and Flare Dress - auroraesite",
"text": "Hermitage Fit and Flare Dress - auroraesite"
}
},
En el modelo CAS, todas las tiendas eSite comparten el mismo documento de producto. El nombre del nivel de tienda con elementos, la descripción y la palabra clave se definen en el ID de tienda con elementos, por ejemplo, name.10501.text
.
name.1.text
. "name": {
"10501": {
"text_en_US": "Hermitage Fit and Flare Dress",
"normalized": "hermitage fit and flare dress",
"raw": "Hermitage Fit and Flare Dress",
"text": "Hermitage Fit and Flare Dress"
},
"1": {
"text_en_US": "Hermitage Fit and Flare Dress - auroraesite",
"normalized": "hermitage fit and flare dress - auroraesite",
"raw": "Hermitage Fit and Flare Dress - auroraesite",
"text": "Hermitage Fit and Flare Dress - auroraesite"
}
},
Para la alteración temporal de una URL de SEO, url.assetStoreId.seo
es la URL de SEO definida en la tienda con elementos de catálogo, y la URL se añade como url.eSiteStoreId.seo
. El campo old_seos
de url contiene el valor de las URL de SEO antiguas.
"url": {
"image": "images/catalog/apparel/women/wcl000_dresses/646x1000/wcl000_0028_a_red.jpg",
"thumbnail": "images/catalog/apparel/women/wcl000_dresses/200x310/wcl000_0028_a_red.jpg",
"seo": "/hermitage-fit-and-flare-dress-auroaesite",
"override": {}
},
"url": {
"10501": {
"image": "images/catalog/apparel/women/wcl000_dresses/646x1000/wcl000_0028_a_red.jpg",
"thumbnail": "images/catalog/apparel/women/wcl000_dresses/200x310/wcl000_0028_a_red.jpg",
"seo": "/hermitage-fit-and-flare-dress"
},
"1": {
"old_seos": [
"/hermitage-fit-and-flare-dress"
],
"seo": "/hermitage-fit-and-flare-dress-auroaesite"
}
},
El precio de la oferta del producto está codificado como prices.offer
. La alteración temporal del precio de la oferta del eSite se añade como prices.ContractId.offer
, donde ContractId
es el ContractId predeterminado de la tienda eSite. A continuación se muestran ejemplos para los modelos eSite y CAS.
"prices": {
"offer": {
"usd": 90.0
},
"list": {
"usd": 250.0
},
"10005": {
"usd": 90.0
}
},
10005
es el contrato predeterminado de la tienda AuroraESite, en el que el precio de oferta se altera temporalmente con 90
: "prices": {
"offer": {
"usd": 100.0
},
"-31009": {
"usd": 100.0
},
"10009": {
"usd": 100.0
},
"list": {
"usd": 250.0
},
"-21009": {
"usd": 100.0
},
"10005": {
"usd": 90.0
},
"-11009": {
"usd": 100.0
}
},
Para las tiendas eSite que no tienen precios de oferta que se puedan alterar de forma temporal, las entradas de precios se siguen creando con el contrato predeterminado de ese sitio electrónico como clave, y para el precio se utiliza el precio de oferta de la tienda con elementos. Todas las tiendas eSite tendrán un precio según su contrato predeterminado, incluso si no tienen un precio de que pueda alterarse temporalmente. En ese caso, se utilizará el precio de oferta heredado de la tienda con elementos.
"inventories": {
"total": {
"quantity": 72813.0
},
"11504": {
"quantity": 1300.0
},
"11503": {
"quantity": 1300.0
},
"11547": {
"quantity": 1300.0
},
"11506": {
"quantity": 1300.0
},
"11549": {
"quantity": 1300.0
},
En el modelo de índice CAS, el inventario por tienda se muestra en forma de lista en cada ID de tienda eSite (total/esiteId): "inventories": {
"total": {
"22": {
"quantity": 72813.0
},
"1": {
"quantity": 72813.0
},
"12": {
"quantity": 72813.0
},
"2": {
"quantity": 72813.0
},
"32": {
"quantity": 72813.0
}
},
Esquema de descripción
storeId-languageId-catalogId-catentryId
. La descripción alterada de forma temporal del eSite se indexa en "override"
: {
"_index": ".auth.1.description.202302271924",
"_type": "_doc",
"_id": "1--1-10001-10001",
"_score": 1.0,
"_source": {
"description": {
"raw": "Classically tailored, this elegant satin dress features a bateau neckline, soft pleating, and a clasped belt to define the waist.",
"override": {
"raw": "<p>Classically tailored, this elegant satin dress features a bateau neckline, soft pleating, and a clasped belt to define the waist - auroaesite.</p>"
}
},
"id": {
"catalog": "10001",
"language": "-1",
"store": "1",
"object": "10001"
},
En el modelo de índice CAS, el ID de documento ha cambiado a product-productId-languageId
. "product"
se ha añadido en el ID del documento para evitar conflictos.
description.10501.raw
. Además, las descripciones completas de alteraciones temporales de tiendas eSite aparecen en una lista en el ID de tienda eSite correspondiente. {
"_index": ".auth.10501.description.202302271955",
"_type": "_doc",
"_id": "product-10001--1",
"_score": 1.0,
"_source": {
"description": {
"10501": {
"raw": "Classically tailored, this elegant satin dress features a bateau neckline, soft pleating, and a clasped belt to define the waist."
},
"1": {
"raw": "<p>Classically tailored, this elegant satin dress features a bateau neckline, soft pleating, and a clasped belt to define the waist - auroaesite</p>"
}
},
"id": {
"language": "-1",
"store": "10501",
"object": "10001"
},
storeId-languageId-catalogId-categoryId
. "_index": ".auth.1.description.202302271924",
"_type": "_doc",
"_id": "1--1-10001-10001",
"_score": 1.0,
"_source": {
"description": {
"raw": "<p>Dress long description.</p>",
},
"id": {
"catalog": "10001",
"language": "-1",
"store": "1",
"object": "10001"
},
category-categoryId-languageId
. "category"
se ha añadido en el ID del documento para evitar conflictos. Debido a que la descripción completa de category
no es compatible con la alteración temporal del eSite, la descripción completa se indexa en el ID de la tienda con elementos (10501
): {
"_index": ".auth.10501.description.202302271955",
"_type": "_doc",
"_id": "category-10001--1",
"_score": 1.0,
"_source": {
"description": {
"10501": {
"raw": "<p>Dress long description</p>"
}
},
"id": {
"language": "-1",
"store": "10501",
"object": "10001"
},
Esquema de inventario
Los modelos de índice eSite y CAS comparten el mismo índice de inventario (por ejemplo, auth.inventory
).
storeId-catalogId-catentryId
. {
"_index": "auth.inventory",
"_type": "_doc",
"_id": "1-10001-10040",
"_score": 1.0,
"_source": {
"inventories": {
"11504": {
"quantity": 100.0,
"id": "11504"
},
"11548": {
"quantity": 100.0,
"id": "11548"
},
"11503": {
"quantity": 100.0,
"id": "11503"
},
En el modelo de índice CAS, el ID de documento ha cambiado a storeId-catentryId
.
El inventario total por tienda eStite se ha alñadido en total/storeId
.
Esquema de precios
No hay cambios entre el modelo eSite y el modelo CAS, ya que el esquema de precios no se muestra por tienda.
Esquema de espacios de trabajo
No hay cambios entre el modelo eSite y el modelo CAS, ya que el esquema de espacios de trabajo no se muestra por tienda.