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

getDiscountsByVectorSearch

البحث الدلالي (التماثلي) عن الخصومات.

الوصف

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

Discounts.getDiscountsByVectorSearch(

body*, langCode, offset, limit

);

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

المخطط

body(required): IDiscountsVectorSearch
نص البحث التماثلي
مثال:

{ queryText: "winter sale" }

body.queryText(required): string
استعلام البحث بلغة طبيعية.
مثال: "تخفيضات الشتاء"

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 Discounts.getDiscountsByVectorSearch({ queryText: 'winter sale' });

مثال مع الخصائص

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

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

{
"items": [
{
"id": 1,
"type": "DISCOUNT",
"attributeSetId": 31,
"conditionLogic": "AND",
"discountValue": {
"value": 10,
"maxAmount": 5,
"discountType": "FIXED_AMOUNT",
"applicability": "TO_PRODUCT"
},
"exclusions": null,
"gifts": null,
"giftsReplaceCartItems": false,
"userGroups": null,
"userExclusions": null,
"localizeInfos": {
"title": "Example discount"
},
"version": 0,
"identifier": "example_discount",
"startDate": "2026-03-14T14:55:19.928Z",
"endDate": "2026-07-31T13:55:24.647Z",
"attributeValues": {
"example_discount": {
"type": "string",
"value": "test value",
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
}
},
"conditions": [],
"bonusEvent": null,
"position": 1
}
],
"total": 1
}

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

المخطط: IDiscountsResponse

items: IDiscountsEntity[]
مصفوفة من كائنات الخصم.

items.id: number
المعرف الفريد للخصم.

items.attributeSetId: number | null
معرف مجموعة الخصائص المرتبطة بالخصم، أو null عندما لا تكون هناك مجموعة مرتبطة.

items.localizeInfos: ILocalizeInfo
اسم الخصم.

items.version: number
إصدار الخصم.

items.identifier: string
معرف الخصم.

items.type: IDiscountType
نوع الخصم.

items.startDate: string
تاريخ بدء الخصم.

items.endDate: string
تاريخ انتهاء الخصم.

items.discountValue: IDiscountValue
قيمة الخصم، بما في ذلك نوعه وحدود المبلغ.

items.conditionLogic: string
منطق الخصم. القيم الممكنة هي "AND" | "OR".

items.conditions: IDiscountCondition[]
شروط الخصم.

items.exclusions: Record<string, unknown> | null
استثناءات الخصم.

items.gifts: Record<string, unknown> | null
الهدايا المرتبطة بالخصم.

items.giftsReplaceCartItems: boolean
ما إذا كانت الهدايا تحل محل عناصر السلة.

items.userGroups: Record<string, unknown> | null
مجموعات المستخدمين المرتبطة بالخصم.

items.userExclusions: Record<string, unknown> | null
استثناءات المستخدمين المرتبطة بالخصم.

items.attributeValues: IAttributeValues
قيم الخصائص المرتبطة بالخصم.

items.attributeSetIdentifier: string
معرف مجموعة الخصائص.

items.bonusEvent: Record<string, unknown>
تهيئة حدث المكافأة.

items.position: number
رقم الموضع للفرز.
مثال: 1

items.total: number | string
إجمالي عدد الإدخالات ذات الصلة.
مثال: "1"

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

total: number
إجمالي عدد الخصومات.

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