Aller au contenu principal

getUsersByVectorSearch

Recherche sémantique (vectorielle) pour les utilisateurs. 🔐 Cette méthode nécessite l'autorisation.

Description

Cette méthode effectue une recherche sémantique (vectorielle) pour les utilisateurs à partir d'une requête en langage naturel - elle correspond au sens plutôt qu'aux mots-clés exacts. Elle renvoie une Promesse qui se résout en un objet IUsersResponse - un conteneur avec items (les utilisateurs) et total.

Users.getUsersByVectorSearch(

body*, langCode, offset, limit

);

Schéma des paramètres

Schéma

body(obligatoire): IUsersVectorSearch
Corps de la recherche vectorielle
exemple:

{ queryText: "john" }

body.queryText(obligatoire): string
Requête de recherche en langage naturel.
exemple : "john"

body.vectorDistanceThreshold: number
Remplacement du seuil de distance cosinus (0..2).
exemple : 0.3

body.maxHits: number
Top-K candidats récupérés avant la pagination. Par défaut : 100. Max : 500.
exemple : 10

body.debug: boolean
Lorsque vrai, chaque élément retourné obtient un champ distance.
exemple : false

langCode: string
Code de langue. Par défaut : "en_US"
exemple : "en_US"

offset: number
Paramètre pour la pagination. Par défaut : 0
exemple : 0

limit: number
Paramètre pour la pagination. Par défaut : 30
exemple : 30

Exemples

Exemple minimal

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

Exemple avec des attributs

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

Exemple de réponse

{
"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
}

Schéma de réponse

Schéma : IUsersResponse

items: IUserEntity[]
Tableau d'objets utilisateur trouvés.

items.id: number
Identifiant de l'objet.
exemple : 12345

items.identifier: string
Identifiant textuel pour le champ d'enregistrement.
exemple : "user_12345"

items.authProviderIdentifier: string
Identifiant textuel du fournisseur d'authentification.
exemple : "auth_provider_12345"

items.formData: FormDataType[]
Tableau d'objets de données de formulaire avec les valeurs suivantes.
exemple :

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

items.formIdentifier: string
Identifiant textuel du formulaire.
exemple : "form_12345"

items.total: string
Valeur totale.
exemple : "0"

items.groups: Array<string | number>
Tableau de groupes d'utilisateurs.
exemple :

[
"group_1",
"group_2"
]

items.state: object
Objet contenant des informations supplémentaires sur l'état de l'utilisateur.
exemple :

{
"key": "value"
}

items.moduleFormConfigs: Array<IFormConfig>
Tableau optionnel d'objets de configuration de formulaire associés à l'utilisateur.

items.rating: IRating
Données d'évaluation.

items.distance: number
Distance cosinus par rapport à la requête. Renvoie uniquement par le point de terminaison de recherche sémantique (vectorielle) lorsque debug: true est passé dans le corps de recherche.
exemple : 0.12

total: number
Nombre total d'enregistrements trouvés.
exemple : 100

ℹ️ La recherche sémantique correspond au sens, et non au texte littéral. Pour une correspondance de mots-clés sur chaque type d'entité à la fois, utilisez globalSearch().