Saltar al contenido principal

getProductsByVectorSearch

Búsqueda semántica (vectorial) de productos.

Descripción

Este método realiza una búsqueda semántica (vectorial) de productos a partir de una consulta en lenguaje natural; se basa en el significado en lugar de en palabras clave exactas. Devuelve una Promesa que se resuelve en un array de objetos IProductsEntity.

Products.getProductsByVectorSearch(

body*, body.queryText*, body.vectorDistanceThreshold, body.maxHits, body.debug, langCode, offset, limit

);

Esquema de parámetros

Esquema

body(requerido): IVectorSearchProducts
Cuerpo de búsqueda vectorial. Ejemplo: { queryText: "zapatillas rojas para correr" }

body.queryText(requerido): string
Consulta de búsqueda en lenguaje natural.
ejemplo: "zapatillas rojas para correr"

body.vectorDistanceThreshold: number
Distancia máxima del vector para un acierto.
ejemplo: 0.5

body.maxHits: number
Número máximo de aciertos a devolver.
ejemplo: 50

body.debug: boolean
Incluir información de depuración en la respuesta.
ejemplo: false

langCode: string
Código de idioma. Por defecto: "en_US"
ejemplo: "en_US"

offset: number
Parámetro para paginación. Por defecto: 0
ejemplo: 0

limit: number
Parámetro para paginación. Por defecto: 30
ejemplo: 30

Ejemplos

Ejemplo mínimo

const response = await Products.getProductsByVectorSearch({ queryText: 'red running shoes' });

Ejemplo con atributos

const response = await Products.getProductsByVectorSearch(
{
queryText: 'red running shoes',
vectorDistanceThreshold: 0.5,
maxHits: 50,
},
'en_US',
0,
30,
);

Ejemplo de respuesta

[
{
"id": 1764,
"localizeInfos": {
"title": "Red running shoes"
},
"price": 100,
"additional": {
"prices": {
"min": 0,
"max": 100
}
},
"isVisible": true,
"isSync": true,
"sku": "0-123",
"attributeValues": {},
"attributeSetIdentifier": "my-set",
"statusIdentifier": "in_stock",
"statusLocalizeInfos": {
"title": "In stock"
},
"position": 1
}
]

Esquema de respuesta

Esquema: IProductsEntity[]

[]: IProductsEntity
Una entidad de producto.

[].id: number
El identificador único.
ejemplo: 12345

[].localizeInfos: ILocalizeInfo
El nombre localizado del producto.
ejemplo: { "title": "Zapatillas rojas para correr" }

[].price: number | null
El precio de la página del producto tomado del índice.
ejemplo: 100

[].sku: string | null
SKU del producto (Unidad de Mantenimiento de Stock), puede ser nulo.
ejemplo: "SKU_12345"

[].attributeValues: IAttributeValues
Array de valores de atributos del índice.

[].statusIdentifier: string | null
Identificador de estado de la página del producto (puede ser nulo).
ejemplo: "in_stock"

[].isVisible: boolean
Un indicador de visibilidad de la página.
ejemplo: true

[].position: number
Número del ítem (para ordenamiento).
ejemplo: 1