Saltar al contenido principal

getPagesByVectorSearch

Búsqueda semántica (vectorial) de páginas.

Descripción​

Este método realiza una búsqueda semántica (vectorial) de páginas 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 objeto IPagesResponse, que es un contenedor con items (las páginas) y total, no un array simple.

.getPagesByVectorSearch(

, , ,

);

Esquema de parámetros​

Esquema

body(requerido): IPagesVectorSearch
Cuerpo de búsqueda vectorial
ejemplo:

{ queryText: "winter sale" }

body.queryText(requerido): string
Consulta de búsqueda en lenguaje natural.
ejemplo: "venta de invierno"

body.vectorDistanceThreshold: number
Anulación del umbral de distancia coseno (0..2).
ejemplo: 0.3

body.maxHits: number
Candidatos Top-K obtenidos antes de la paginación. Predeterminado: 100. Máx: 500.
ejemplo: 10

body.debug: boolean
Cuando es verdadero, cada elemento devuelto obtiene un campo distance.
ejemplo: false

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

offset: number
Parámetro para la paginación. Predeterminado: 0
ejemplo: 0

limit: number
Parámetro para la paginación. Predeterminado: 30
ejemplo: 30

Ejemplos​

Ejemplo mínimo​

const response = await Pages.getPagesByVectorSearch({ queryText: 'winter sale' });

Ejemplo con atributos​

const response = await Pages.getPagesByVectorSearch(
{
queryText: 'winter sale',
vectorDistanceThreshold: 0.3,
maxHits: 50,
debug: true,
},
'en_US',
0,
30,
);

Ejemplo de respuesta​

{
"items": [],
"total": 0,
"indexReady": false
}

Esquema de respuesta​

Esquema: IPagesResponse

items: IPagesEntity[]
Array de objetos de página encontrados.

items.id: number
El identificador del objeto.
ejemplo: 8

items.parentId: number | null
El id de la página padre; si contiene null, entonces es la página de nivel superior.
ejemplo: 10

items.pageUrl: string
Url única de la página.
ejemplo: "blog"

items.depth: number
Profundidad de anidamiento de la página en relación con parentId.
ejemplo: 10

items.localizeInfos: ILocalizeInfo
El nombre de la página, teniendo en cuenta la localización.
ejemplo:

{
"title": "Blog",
"menuTitle": "Blog",
"htmlContent": "",
"plainContent": ""
}

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

items.type: PageType
Tipo de página.
ejemplo: "common_page"

items.templateIdentifier: string | null
Id de usuario de la plantilla vinculada.
ejemplo: "template"

items.attributeSetIdentifier: string | null
Id del conjunto de atributos.
ejemplo: "page"

items.attributeValues: IAttributeValues
Mapa de valores de atributos indexados por marcador; objeto vacío cuando no hay ninguno.
ejemplo:

{
"text": {
"type": "string",
"value": "some text",
"position": 0,
"additionalFields": []
}
}

items.isSync: boolean
Indicación de la indexación de la página.
ejemplo: true

items.template: object
Objeto de plantilla.
ejemplo:

{}

items.position: number
Número del elemento (para ordenación).
ejemplo: 2

items.config: Record<string, number>
Configuraciones de salida para páginas de catálogo.
ejemplo:

{
"rowsPerPage": 1,
"productsPerRow": 1
}

items.products: number
El número de productos vinculados a la página.
ejemplo: 0

items.childrenCount: number
Conteo de hijos.
ejemplo: 1

items.blocks: IBlockEntity[] | string[]
bloques.
ejemplo:

{
"id": 4,
"attributeSetIdentifier": null,
"title": "Template",
"generalTypeId": 4,
"identifier": "template",
"version": 0,
"generalTypeName": "catalog_page",
"attributeValues": {},
"position": 1
}

items.moduleFormConfigs: Array<IFormConfig>
Configuraciones de formularios de módulo vinculadas a la página.

items.rating: IRating
Datos de calificación.

items.total: string
Número total de productos vinculados a la página.
ejemplo: "10"

items.categoryPath: string | null
Cadena de ruta de categoría; null para páginas anidadas que no tienen su propia ruta de categoría.
ejemplo: "catalog"

items.distance: number
Distancia coseno a la consulta. Devuelto solo por el punto final de búsqueda semántica (vectorial) cuando se pasa debug: true en el cuerpo de búsqueda.
ejemplo: 0.12

total: number
Número total de registros encontrados.
ejemplo: 100

ℹ️ La búsqueda semántica se basa en el significado, no en el texto literal. Para coincidencias de palabras clave en todos los tipos de entidades a la vez, utiliza globalSearch().