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().