Fonctions de la recherche de variantes de produits
HCL Commerce La recherche a connaissance des variantes et peut les traiter, les récupérer et les afficher dans la vitrine. Plusieurs fonctions et scénarios d'utilisation sont disponibles.
Vous pouvez trouver de nouvelles fonctions de recherche spécifiques aux variantes dans les zones suivantes :
Index de recherche
- Il existe de nouvelles tables temporaires à utiliser avec des variantes. Il s'agit de :
- TI_GROUPING_VARIANT_#INDEX_SCOPE_TAG#
- TI_DPVARIANT_#INDEX_SCOPE_TAG#
Pour plus d'informations, voir Définition temporaire du schéma de table.
- Une nouvelle zone d'index,parentVariant_id, a été ajoutée pour associer VariantBean à ItemBean. La valeur de la zone peut être utilisée dans les requêtes pour récupérer des documents correspondants, et elle peut être récupérée par des requêtes.
Publier et dépublier
Les variantes enfant et les SKU sont dépubliés lorsqu'un produit et dépublié. Les SKU enfant sont dépubliées lorsqu'une variante est dépubliée. Sinon, chaque variante et chaque SKU conservera sa propre valeur de publication ou de dépublication.
Prix
- Si le prix est indexé à partir du prix de vente standard, le prix de l'index de la variante héritera de son produit parent si la variante elle-même n'a pas de prix défini.
Type de recherche
- Quatre types de recherche ont été créés afin que le magasin puisse afficher toutes les variantes dans les résultats de navigation et de recherche. Les types de recherche sont 20000, 20001, 20002 et 20003.
- Les variantes sont exclues pour les types de recherche existants : 0, 1, 2, 3, 100, 101, 102, 103, 1000, 1001, 1002, 1003, 10000, 10001, 10002, 10003.
- Les variantes sont incluses pour le type de recherche existant : 10, 11, 12, 13.
Pour plus d'informations, voir Modification du type de recherche par défaut.
API REST de recherche
- Combiner les API REST de recherche avec le type de recherche pour afficher les variantes
- Les API REST dont le profil de recherche contient le fournisseur
com.ibm.commerce.search.internal.expression.provider.SearchTypeExpressionProviderpeuvent spécifier le type de recherche approprié pour renvoyer une variante.Par exemple :- Effectuez la procédure décrite à l'étape Scénario 1 : Définir le type de recherche par défaut pour inclure des variantes.
- Accédez aux API REST de recherche pour afficher des variantes. Par exemple, accédez à l'API
store/{storeId}/productview/byCategory/{categoryId}pour obtenir la liste détaillée des variantes sous la catégorie spécifiée. Accédez à l'APIstore/{storeId}/productview/bySearchTerm/{searchTerm}pour obtenir la liste détaillée des variantes correspondantes. Voici un exemple de réponse :{ “recordSetCount”: 2, ... "catalogEntryView": [{ "hasSingleSKU": false, "resourceId": "http://localhost:3737/search/resources/store/1/productview/byId/17001", "uniqueID": "17001", "partNumber": "10001-Red-variant", "catalogEntryTypeCode": "VariantBean", "buyable": "true", "storeID": "10501", "parentCatalogGroupID": ["10001_10001", "10502_10001"], "price": [...], "attributes": [...] }, { "hasSingleSKU": false, "resourceId": "http://localhost:3737/search/resources/store/1/productview/byId/17002", "uniqueID": "17002", "partNumber": "10001-Teal-variant", "catalogEntryTypeCode": "VariantBean", "buyable": "true", "storeID": "10501", "parentCatalogGroupID": ["10001_10001", "10502_10001"], "price": [...], "attributes": [...] }], ... }
- Utiliser l'API
/{storeId}/productview/byId/{productId}pour obtenir les détails du produit -
- Ajoutez la zone numberOfVariants pour afficher le nombre de variantes enfant.
- Ajoutez des variantes d'objets pour afficher la liste détaillée des variantes enfant.Remarque : Par défaut, les variantes et numberOfVariants ne sont pas disponibles. Pour plus d'informations sur leur affichage, voir Scénario 2 : Afficher les variantes enfant d'un produit.Voici un exemple de réponse :
{ ... "catalogEntryView": [{ … "uniqueID": "10001", "catalogEntryTypeCode": "ProductBean", … "numberOfSKUs": 13, "sKUs": […], "numberOfVariants": 2, "variants": [{ "hasSingleSKU": false, "resourceId": "http://localhost:3737/search/resources/store/1/productview/byId/17001", "uniqueID": "17001", "partNumber": "10001-Red-variant", "ad_attribute": "7000000000000000002/_/swatchcolor/_/Color/_/.00000/_/7000000000000000007/_/Red/_/Red/_/1.00000/_/1/_/1/_/1/_/0/_/1/_/1/_/images/catalog/apparel/women/Swatches/swatch_red.png/_/-/_/one/_/C62/_/0", "catalogEntryTypeCode": "VariantBean", "buyable": "true", "storeID": "10501", "parentCatalogGroupID": ["10001_10001", "10502_10001"], "price": [...] }, { "hasSingleSKU": false, "resourceId": "http://localhost:3737/search/resources/store/1/productview/byId/17002", "uniqueID": "17002", "partNumber": "10001-Teal-variant", "ad_attribute": "7000000000000000002/_/swatchcolor/_/Color/_/.00000/_/7000000000000000008/_/Teal/_/Teal/_/2.00000/_/1/_/1/_/1/_/0/_/1/_/1/_/images/catalog/apparel/women/Swatches/swatch_teal.png/_/-/_/one/_/C62/_/0", "catalogEntryTypeCode": "VariantBean", "buyable": "true", "storeID": "10501", "parentCatalogGroupID": ["10001_10001", "10502_10001"], "price": [...] }], ... }
- Utiliser l'API
/{storeId}/productview/byId/{variantId}pour obtenir des détails de la variante -
- La réponse API contient des informations de base sur les variantes telles que les attributs et les SKU enfant.
- L'objet attributs contient les attributs de la variante spécifiée et les attributs de définition de sa SKU enfant.
- Ajoutez la zone bindToVariant. Si un attribut contient cette zone et que la valeur est true, cet attribut est l'attribut de définition associé à la variante.Voici un exemple d'une variante qui s'associe à l'attribut rouge de définition. Il contient deux SKU enfant, et l'attribut de définition de la SKU enfant SmusSize(XS,M) est ajouté à la variante :
{ … "catalogEntryView": [{ "hasSingleSKU": false, "resourceId": "http://localhost:3737/search/resources/store/1/productview/byId/17001", "uniqueID": "17001", "subscriptionTypeCode": "NONE", "partNumber": "10001-Red-variant", "catalogEntryTypeCode": "VariantBean", "parentCatalogEntryID": "10001", "buyable": "true", "storeID": "10501", "parentCatalogGroupID": ["10001_10001", "10502_10001"], "disallowRecurringOrder": "0", "price": [], "numberOfSKUs": 2, "sKUs": [...], "attributes": [{ "identifier": "swatchcolor", "values": [{ "identifier": "Red", "sequence": "1.00000", "unitOfMeasure": "one", "unitID": "C62", "image1": "images/catalog/apparel/women/Swatches/swatch_red.png", "value": "Red", "image1path": "/wcsstore/ExtendedSitesCatalogAssetStore/images/catalog/apparel/women/Swatches/swatch_red.png", "uniqueID": "7000000000000000007" }], "usage": "Defining", "displayable": true, "bindToVariant": true, "searchable": true, "sequence": ".00000", "storeDisplay": false, "name": "Color", "facetable": true, "associatedKeyword": "-", "comparable": true, "uniqueID": "7000000000000000002" }, { "identifier": "swatchSize", "sequence": "1.00000", "storeDisplay": false, "values": [{ "identifier": "XS", "sequence": "1.00000", "unitOfMeasure": "one", "unitID": "C62", "image1": "images/catalog/apparel/women/Swatches/swatch_size/size_xs_enabled.png", "value": "XS", "image1path": "/wcsstore/ExtendedSitesCatalogAssetStore/images/catalog/apparel/women/Swatches/swatch_size/size_xs_enabled.png", "uniqueID": "7000000000000000004" }, { "identifier": "M", "sequence": "3.00000", "unitOfMeasure": "one", "unitID": "C62", "image1": "images/catalog/apparel/women/Swatches/swatch_size/size_m_enabled.png", "value": "M", "image1path": "/wcsstore/ExtendedSitesCatalogAssetStore/images/catalog/apparel/women/Swatches/swatch_size/size_m_enabled.png", "uniqueID": "7000000000000000002" }], "usage": "Defining", "displayable": true, "name": "Available Sizes", "facetable": true, "comparable": true, "searchable": true, "uniqueID": "7000000000000000001" }] }], … }
- Utiliser l'API
/{storeId}/productview/byId/{sKUId}pour obtenir les détails de la SKU - Ajoutez la zone parentVariant_id pour associer une SKU à sa variante parent.