انتقل إلى المحتوى الرئيسي

getUsersByVectorSearch

بحث دلالي (متجه) عن المستخدمين. 🔐 تتطلب هذه الطريقة التفويض.

الوصف

تقوم هذه الطريقة بإجراء بحث دلالي (متجه) عن المستخدمين من استعلام بلغة طبيعية - حيث تتطابق على المعنى بدلاً من الكلمات الرئيسية الدقيقة. تعيد وعدًا يتم حله إلى كائن IUsersResponse - حاوية تحتوي على items (المستخدمين) و total.

Users.getUsersByVectorSearch(

body*, langCode, offset, limit

);

مخطط المعاملات

المخطط

body(required): IUsersVectorSearch
جسم البحث المتجه
مثال:

{ queryText: "john" }

body.queryText(required): string
استعلام البحث بلغة طبيعية.
مثال: "john"

body.vectorDistanceThreshold: number
تجاوز عتبة المسافة الكوسينية (0..2).
مثال: 0.3

body.maxHits: number
أفضل K من المرشحين الذين تم جلبهم قبل التصفح. الافتراضي: 100. الحد الأقصى: 500.
مثال: 10

body.debug: boolean
عند التفعيل، يحصل كل عنصر تم إرجاعه على حقل distance.
مثال: false

langCode: string
رمز اللغة. الافتراضي: "en_US"
مثال: "en_US"

offset: number
معامل للتصفح. الافتراضي: 0
مثال: 0

limit: number
معامل للتصفح. الافتراضي: 30
مثال: 30

أمثلة

مثال بسيط

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

مثال مع السمات

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

مثال على الاستجابة

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

مخطط الاستجابة

المخطط: IUsersResponse

items: IUserEntity[]
مصفوفة من كائنات المستخدمين الذين تم العثور عليهم.

items.id: number
معرف الكائن.
مثال: 12345

items.identifier: string
معرف نصي لحقل السجل.
مثال: "user_12345"

items.authProviderIdentifier: string
معرف نصي لمزود المصادقة.
مثال: "auth_provider_12345"

items.formData: FormDataType[]
مصفوفة من كائنات بيانات النموذج بالقيم التالية.
مثال:

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

items.formIdentifier: string
معرف نصي للنموذج.
مثال: "form_12345"

items.total: string
القيمة الإجمالية.
مثال: "0"

items.groups: Array<string | number>
مصفوفة من مجموعات المستخدمين.
مثال:

[
"group_1",
"group_2"
]

items.state: object
كائن يحتوي على معلومات حالة المستخدم الإضافية.
مثال:

{
"key": "value"
}

items.moduleFormConfigs: Array<IFormConfig>
مصفوفة اختيارية من كائنات تكوين النموذج المرتبطة بالمستخدم.

items.rating: IRating
بيانات التقييم.

items.distance: number
المسافة الكوسينية إلى الاستعلام. يتم إرجاعها فقط من نقطة نهاية البحث الدلالي (المتجه) عندما يتم تمرير debug: true في جسم البحث.
مثال: 0.12

total: number
إجمالي عدد السجلات التي تم العثور عليها.
مثال: 100

ℹ️ يتطابق البحث الدلالي على المعنى، وليس على النص الحرفي. لاستخدام المطابقة على الكلمات الرئيسية عبر كل نوع كيان مرة واحدة، استخدم globalSearch().