Saltar al contenido principal

getUsersByVectorSearch

Búsqueda semántica (vectorial) de usuarios. 🔐 Este método requiere autorización.

Descripción

Este método realiza una búsqueda semántica (vectorial) de usuarios 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 IUsersResponse, que es un contenedor con items (los usuarios) y total.

Usuarios.getUsersByVectorSearch(

body*, langCode, offset, limit

);

Esquema de parámetros

Esquema

body(required): IUsersVectorSearch
Cuerpo de búsqueda vectorial
ejemplo:

{ queryText: "john" }

body.queryText(required): string
Consulta de búsqueda en lenguaje natural.
ejemplo: "john"

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 paginación. Predeterminado: 0
ejemplo: 0

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

Ejemplos

Ejemplo mínimo

const response = await Users.getUsersByVectorSearch({ queryText: 'john' });

Ejemplo con atributos

const response = await Users.getUsersByVectorSearch(
{
queryText: 'john',
vectorDistanceThreshold: 0.3,
maxHits: 50,
debug: true,
},
'en_US',
0,
30,
);

Ejemplo de respuesta

{
"items": [
{
"id": 8,
"total": "1",
"identifier": "test@test.ru",
"authProviderIdentifier": "email",
"formData": [
{
"marker": "name_reg",
"type": "string",
"value": "Ivan"
},
{
"marker": "phone_reg",
"type": "string",
"value": "+19258382556"
}
],
"formIdentifier": "reg",
"groups": [
1
],
"state": {},
"rating": {},
"moduleFormConfigs": []
}
],
"total": 1
}

Esquema de respuesta

Esquema: IUsersResponse

items: IUserEntity[]
Array de objetos de usuario encontrados.

items.id: number
Identificador del objeto.
ejemplo: 12345

items.identifier: string
Identificador de texto para el campo de registro.
ejemplo: "user_12345"

items.authProviderIdentifier: string
Identificador de texto del proveedor de autenticación.
ejemplo: "auth_provider_12345"

items.formData: FormDataType[]
Array de objetos de datos de formulario con los siguientes valores.
ejemplo:

[
{
"marker": "last_name",
"type": "string",
"value": "Username"
}
]

items.formIdentifier: string
Identificador de texto del formulario.
ejemplo: "form_12345"

items.total: string
Valor total.
ejemplo: "0"

items.groups: Array<string | number>
Array de grupos de usuarios.
ejemplo:

[
"group_1",
"group_2"
]

items.state: object
Objeto que contiene información adicional sobre el estado del usuario.
ejemplo:

{
"key": "value"
}

items.moduleFormConfigs: Array<IFormConfig>
Array opcional de objetos de configuración de formulario asociados con el usuario.

items.rating: IRating
Datos de calificación.

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