Modifications de schéma
Dans un index basé sur eSite, chaque magasin eSite dispose de sa propre copie des documents de catalogue, de catégorie, de produit et d'attribut. La plupart des données de ces documents sont identiques. Cela génère une grande quantité de données en double. Dans la conception de schéma pour les index basés sur le magasin de ressources, tous les magasins eSite partagent le même document de catalogue, de catégorie, de produit et d'attribut.
Schémas de magasin
"id": {
"default": {
"contract": "-11005",
"language": "-1",
"fulfillment": "13001",
"catalog": "11501"
},
"asset_store": 12001, Schémas de catalogue
auth.1.catalog où 1 est l'ID de magasin du magasin eSite Aurora. Chaque magasin eSite possède son propre index de catalogue. L'ID unique de chaque document de catalogue est 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"
},Dans modèle d'index CAS, le magasin ID dans le nom de l'index de catalogue est le magasin de ressources de catalogue ID, par exemple, auth.10501.catalog , où 10501 est l'ID de magasin du magasin de ressources de catalogue. Tous les magasins eSite partagent le même index de catalogue. L'ID unique de chaque document de catalogue est catalogId-langId.
10502), et il existe un document pour l'anglais. Le id.store est désormais une liste d'ID de magasin, y compris les ID magasin de ressources catalogue et tous les ID de magasin eSite, qui héritent de ce catalogue : 10501,1,2, 12, 22, comme indiqué dans l'exemple suivant. {
"_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"
}
],Schéma d'attribut
auth.1.attribute. (1 est l'ID de magasin du magasin AuroraESite). Chaque magasin eSite possède son propre index d'attributs. L'ID unique de chaque document d'attribut est storeId-langId-attributeId. id.store est l'ID du magasin eSite. {
"_index": ".auth.1.attribute.202302271924",
"_type": "_doc",
"_id": "1--1-7000000000000000011",
"_score": 1.0,
"_source": {
"id": {
"language": "-1",
"attribute": "7000000000000000011",
"store": "1"
},
Dans le modèle d'index CAS, l'ID de magasin dans le nom de l'index d'attribut est l'ID de magasin de ressources de catalogue, par exemple, auth.10501.attribute (10501 est l'ID de magasin du magasin de ressources de catalogue). Tous les magasins eSite partagent le même index d'attribut. L'ID unique de chaque document d'attribut est attributeId-langId.
10501 (ID de magasin de ressources de catalogue). Si l'attribut est créé dans un magasin AuroraESite (1), l'id.store est 1, comme illustré dans l'exemple suivant. {
"_index": ".auth.10501.attribute.202302271955",
"_type": "_doc",
"_id": "7000000000000000011--1",
"_score": 1.0,
"_source": {
"id": {
"language": "-1",
"attribute": "7000000000000000011",
"store": "10501"
},Si la valeur d'attribut est créée dans un magasin eSite (ID de magasin AuroraESite 1), les valeurs "store” : ”1” sont utilisées pour indiquer qu'il s'agit d'une valeur d'attribut local.Schémas de page (remplacement du schéma d'URL)
L'index URL a été remplacé par le nouvel index Page.
L'index URL d'origine inclut toutes les catégories et tous les produits. Par conséquent, sa taille est importante et les informations qu'il contient sont largement redondantes, car les URL de référencement de catégories et de produits ont déjà été indexées dans l'index Catégorie et l'index Produit. En outre, l'index URL ne prend pas en charge plusieurs langues (il n'y a pas d'ID de langue dans l'ID du document d'URL).
Dans le modèle d'index CAS, un index Page remplace l'index URL dans le modèle d'index eSite. L'index Page indexe uniquement les pages d'URL définies dans la table de base de données SEOPAGEDEF. Le nombre de documents dans l'index Page est beaucoup moins important que dans l'index URL. Le document Page contient uniquement un élément de modèle, il ne contient pas d'élément Page. L'élément Page est généré en fonction du modèle lors de l'exécution.
storeId-url.id. url.id est l'ID unique dans la table 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. page.id est l'ID unique de la table 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"
},
Schémas de catégorie
Modification de l'ID de document
storeId-langId-catalogId, comme dans l'exemple suivant : {
"_index": ".auth.1.category.202302271924",
"_type": "_doc",
"_id": "1--1-10001-12",Dans le modèle d'index CAS, l'ID de document des documents de catégorie est catalogId-categoryId-langId, comme illustré ci-dessous. {
"_index": ".auth.10501.category.202302271955",
"_type": "_doc",
"_id": "10501-12--1",
id.store Modifier
Dans le modèle d'index eSite, chaque magasin eSite possède sa propre copie du document de catégorie. La valeur id.store était l'ID de magasin eSite (identique à l'ID de magasin dans l'ID unique du document)
Dans le modèle d'index CAS, tous les magasins eSite partagent le même document de catégorie. Dans le modèle CAS, il est remplacé par l'ID de magasin propriétaire de la catégorie.
Si cette catégorie est créée dans un magasin de ressources de catalogue et partagée par tous ses magasins eSite, l'id.store doit être l'ID de magasin de ressources de catalogue. Par exemple, si la catégorie Fasteners 12 est une catégorie d'un magasin de ressources de catalogue, l'ID id.store doit être l'ID de magasin de ressources de catalogue (10501).
Si la catégorie est créée dans un magasin eSite et n'est visible que dans ce magasin eSite, id.store est l'ID de magasin eSite. La capture d'écran suivante le montre pour le modèle eSite.
"id": {
"catalog": "10001",
"member": "7000000000000001001",
"catgroup": "12",
"language": "-1",
"store": "1"
},En revanche, le modèle CAS se présente comme suit. "id": {
"catalog": "10501",
"member": "7000000000000001001",
"catgroup": "12",
"language": "-1",
"store": "10501"
},
Changement d'URL de référencement
Pour l'URL de référencement de catégorie et le remplacement, url.assetStoreId.seo est l'URL de référencement de cette catégorie dans le magasin de ressources de catalogue. Par exemple, une URL de référencement peut être url.10501.seo.
Si un eSite a substitué une URL de référencement, cette URL est ajoutée en tant que url.eSiteStoreId.seo. Par exemple, url.1.so.
Les anciens référencements sont définis dans la matrice old_seos. Par exemple, 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"
}
},Modifier la facette

"facet": [
{
"sequence": 1.1,
"search": true,
"display": {
"zero": false,
"limit": 20,
"multiple": true,
"order": 1
},
"displayable": false,Dans le modèle d'index Magasin de ressources, les variables affichables et de séquence répertorient des valeurs pour tous les magasins eSite.
Dans l'exemple suivant, la facette Boys Pants’s Material n'est pas affichable pour les clients et la séquence est 1.1 dans le magasin AuroraESite.

“1”: false) et la séquence est 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
},Schéma de produit
{
"_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"
}
},Dans le modèle CAS, tous les magasins eSite partagent le même document de produit. Le nom, la description et le mot clé de niveau Magasin de ressources sont définis sous l'ID de magasin de ressources, par exemple, 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"
}
},Pour le remplacement d'URL de référencement, url.assetStoreId.seo est l'URL de référencement définie dans le magasin de ressources de catalogue, et l'URL de référencement remplacé est ajouté en tant que url.eSiteStoreId.seo. La zone old_seos sous url contient la valeur des anciennes URL de référencement.
"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"
}
},Le prix de vente du produit est codé en tant que prices.offer. Le prix de vente de remplacement d'eSite est ajouté en tant que prices.ContractId.offer, où ContractId est le ContractId par défaut du magasin eSite. Voici des exemples pour les modèles eSite et CAS.
"prices": {
"offer": {
"usd": 90.0
},
"list": {
"usd": 250.0
},
"10005": {
"usd": 90.0
}
},10005 est le contrat par défaut du magasinAuroraESite, dans lequel le prix de vente est remplace par 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
}
},Pour les magasins eSite qui n'ont pas de prix de vente de remplacement, les entrées de prix sont toujours créées avec le contrat par défaut de cet eSite comme clé, et le prix avec le prix de vente du magasin de ressources. Tous les magasins eSite auront un prix en vertu de leur contrat par défaut, même en l'absence de prix de remplacement. Dans ce cas, il utilisera le prix de vente hérité du magasin de ressources.
"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
},Dans le modèle d'index CAS, le stock par magasin est répertorié sous chaque ID de magasin 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
}
},Schéma de description
storeId-languageId-catalogId-catentryId. La description de remplacement eSite est indexée sous "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"
},Dans le modèle d'index CAS, l'ID de document a changé en product-productId-languageId. "product" est ajouté dans l'ID de document pour éviter les conflits.
description.10501.raw. En outre, les longues descriptions de remplacement des magasins eSite sont répertoriées sous leur ID de magasin eSite correspondant. {
"_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" est ajouté dans l'ID de document pour éviter les conflits. Etant donné que la longue description de category ne prend pas en charge le remplacement eSite, elle est indexée sous l'ID de magasin de ressources (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"
},Schéma de stock
Les modèles d'index eSite et CAS partagent le même index de stock (par exemple, 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"
},Dans le modèle d'index CAS, l'ID de document est modifié en storeId-catentryId.
Le stock total par magasin eSite est ajouté sous total/storeId.
Schéma de prix
Il n'y a pas de modification entre le modèle eSite et le modèle CAS, car le schéma de prix n'est pas répertorié par magasin.
Schéma d'espace de travail
Il n'y a aucune modification entre le modèle eSite et le modèle CAS, car le schéma d'espace de travail n'est pas répertorié par magasin.