Características de la búsqueda de variantes de producto

HCL CommerceLa búsqueda conoce las variantes y puede procesarlas, recuperarlas y mostrarlas en el escaparate. Hay disponibles varias características y escenarios de uso.

Puede encontrar nuevas características de búsqueda específicas de variantes en las áreas siguientes:

Índice de búsqueda

  • Hay nuevas tablas temporales para utilizarlas con variantes. Son los siguientes:
    • TI_GROUPING_VARIANT_#INDEX_SCOPE_TAG#
    • TI_DPVARIANT_#INDEX_SCOPE_TAG#

    Si desea obtener más información, consulte la publicación Definición de esquema de tabla temporal.

  • Se ha añadido un nuevo campo de índice,parentVariant_id, para asociar VariantBean con ItemBean. El valor del campo se puede utilizar en consultas para recuperar documentos coincidentes y las consultas pueden recuperarlos.

Publicar y anular publicación

Las variantes y los códigos de artículo hijo no se publican cuando se anula la publicación de un producto. Los códigos de artículo hijo no se publican cuando se anula la publicación de una variante. De lo contrario, cada variante y código de artículo mantendrá su propio valor de publicación o anulación de publicación.

Precio

  • Si el precio se ha indexado a partir del precio de oferta estándar, el precio de índice de variante heredará de su producto padre si la propia variante no tiene definido un precio.

Tipo de búsqueda

  • Se han creado cuatro tipos de búsqueda para que la tienda pueda mostrar todas las variantes en los resultados de navegación y resultados de búsqueda. Los tipos de búsqueda son 20000, 20001, 20002 y 20003.
  • Las variantes se excluyen para los tipos de búsqueda existentes: 0, 1, 2, 3, 100, 101, 102, 103, 1000, 1001, 1002, 1003, 10000, 10001, 10002, 10003.
  • Las variantes se incluyen para el tipo de búsqueda existente: 10, 11, 12, 13.

    Para obtener más información, consulte Cambiar el tipo de búsqueda predeterminado.

API de REST de búsqueda

Combinar las API REST de búsqueda con el tipo de búsqueda para mostrar variantes
REST las API cuyo perfil de búsqueda contiene el proveedor de com.ibm.commerce.search.internal.expression.provider.SearchTypeExpressionProvider puede especificar el tipo de búsqueda adecuado para devolver una variante.
Por ejemplo:
  1. Complete Caso de ejemplo 1: Establecer el tipo de búsqueda predeterminado para incluir variantes.
  2. Acceda a las API de REST de búsqueda para visualizar las variantes. Por ejemplo, la API de acceso store/{storeId}/productview/byCategory/{categoryId} para obtener la lista de detalles de variantes bajo la categoría especificada. API store/{storeId}/productview/bySearchTerm/{searchTerm} de acceso para obtener la lista de detalles de variantes coincidentes. A continuación se muestra un ejemplo de respuesta:
    {
     “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": [...]
    	}],
    	...
    }
    
Utilizar API /{storeId}/productview/byId/{productId} para obtener detalles del producto
  • Añada el campo numberOfVariants para visualizar el número de variantes hijo.
  • Añada variantes de objeto para visualizar la lista de detalles de la variante hijo.
    Nota: De forma predeterminada, las variantes y numberOfVariants no están disponibles. Para obtener información sobre cómo visualizarlos, consulte Caso de ejemplo 2: Ver variantes hijo de un producto.
    A continuación, verá un ejemplo de respuesta:
    {
    	...
    	"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": [...]
    		}],
    	...
    }
    
Utilizar API /{storeId}/productview/byId/{variantId} para obtener detalles de variante
  1. La respuesta de la API contiene información de variante básica como, por ejemplo, códigos de artículo hijo y atributos.
  2. El objeto de atributos contiene los atributos de la variante especificada y sus atributos de definición de códigos de artículo hijo.
  3. Añada el campo bindToVariant. Si un atributo contiene este campo y el valor es true, este atributo es el atributo de definición asociado a la variante.
    A continuación se muestra un ejemplo de una variante que se asocia con el atributo de definición rojo. Contiene dos códigos de artículo hijo y el atributo de definición de códigos de artículo hijo swatchSize (XS, M) se acumula a 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"
    		}]
    	}],
    	…
    }
    
Utilizar API /{storeId}/productview/byId/{sKUId} para obtener detalles de código de artículo
Añada el campo parentVariant_id para asociar un código de artículo con su variante padre.