getProductsByVectorSearch
البحث الدلالي (التماثلي) عن المنتجات.
الوصف
تقوم هذه الطريقة بإجراء بحث دلالي (تماثلي) عن المنتجات من استعلام بلغة طبيعية - حيث تتطابق على المعنى بدلاً من الكلمات الرئيسية الدقيقة. تعيد وعدًا (Promise) يتم حله إلى مصفوفة من كائنات IProductsEntity.
Products.getProductsByVectorSearch(
body*,
langCode,
offset,
limit
);
مخطط المعاملات
المخطط
body(required): IVectorSearchProducts
نص البحث التماثلي
مثال:
{ queryText: "red running shoes" }
body.queryText(required): string
استعلام البحث بلغة طبيعية.
مثال: "أحذية جري حمراء"
body.vectorDistanceThreshold: number
أقصى مسافة تماثلية لضربة.
مثال: 0.5
body.maxHits: number
أقصى عدد من الضربات لإرجاعها.
مثال: 50
body.debug: boolean
تضمين معلومات التصحيح في الاستجابة.
مثال: false
langCode: string
رمز اللغة. الافتراضي: "en_US"
مثال: "en_US"
offset: number
معامل للتصفح. الافتراضي: 0
مثال: 0
limit: number
معامل للتصفح. الافتراضي: 30
مثال: 30
أمثلة
مثال بسيط
const response = await Products.getProductsByVectorSearch({ queryText: 'red running shoes' });
مثال مع السمات
const response = await Products.getProductsByVectorSearch(
{
queryText: 'red running shoes',
vectorDistanceThreshold: 0.5,
maxHits: 50,
},
'en_US',
0,
30,
);
استجابة المثال
{
"items": [
{
"id": 2957,
"attributeSetIdentifier": "products",
"localizeInfos": {
"title": "Cosmo"
},
"statusLocalizeInfos": {
"title": "Sale"
},
"isVisible": true,
"statusIdentifier": "sale",
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"sku": null,
"isSync": true,
"categories": [
"catalog"
],
"paymentStages": null,
"rating": {},
"attributeValues": {
"product-name": {
"type": "string",
"value": "Cosmo",
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
},
"price": {
"type": "integer",
"value": 150,
"isIcon": false,
"position": 1,
"additionalFields": {},
"isProductPreview": false
},
"currency_products": {
"type": "string",
"value": "",
"isIcon": false,
"position": 2,
"additionalFields": {},
"isProductPreview": false
},
"img": {
"type": "image",
"value": "",
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": false
}
},
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 538,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 538
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {},
"isPositionLocked": false
}
],
"total": 1
}
مخطط الاستجابة
المخطط: IProductsEntity[]
id: number
المعرف الفريد.
مثال: 12345
localizeInfos: ILocalizeInfo
اسم المنتجات، مع الأخذ في الاعتبار التوطين.
مثال:
{}
statusIdentifier: string | null
معرفات حالة صفحة المنتج (قد تكون null).
مثال: "in_stock"
statusLocalizeInfos: ILocalizeInfo
اسم الحالة المحلي للمنتج.
مثال:
{ "title": "Sale" }
attributeSetIdentifier: string | null
مجموعة معرفات السمات.
مثال: "set_12345"
position: number
رقم العنصر (لترتيب العناصر).
مثال: 1
price: number | null
قيمة سعر صفحة المنتج المأخوذة من الفهرس.
مثال: 150.00
additional: object
قيمة إضافية من الفهرس.
مثال:
{
"prices": {
"min": 5,
"max": 150
}
}
sku: string | null
SKU المنتج (وحدة حفظ المخزون)، قد تكون null.
مثال: "SKU_12345"
isSync: boolean
إشارة إلى فهرسة الصفحة.
مثال: true
attributeValues: IAttributeValues
مصفوفة من قيم السمات من الفهرس، ممثلة.
مثال:
[
{
"id": "color",
"value": "red"
}
]
categories: string[]
فئات المنتج.
مثال:
[
1,
2,
3
]
isVisible: boolean
علامة على رؤية الصفحة.
مثال: true
moduleFormConfigs: Array<IFormConfig>
تهيئات نماذج الوحدة (اختياري).
rating: IRating
بيانات التقييم.
isPositionLocked: boolean
مؤشر قفل موضع الترتيب (اختياري).
مثال: false
relatedIds: number[]
معرفات صفحات المنتجات ذات الصلة.
مثال:
[
12345,
67890
]
paymentStages: unknown
بيانات مراحل الدفع (قد تكون null).
مثال: null
distance: number
مسافة الصلة للبحث التماثلي. تظهر فقط في نتائج البحث التماثلي.
مثال: 0.42
discountConfig: Record<string, unknown>
كائن تكوين الخصم.
مثال:
{}
templateIdentifier: string | null
معرف المستخدم للقالب المرتبط.
مثال: "template_12345"
shortDescTemplateIdentifier: string | null
معرف المستخدم للقالب المرتبط للوصف القصير.
مثال: "short_desc_template_12345"
signedPrice: string
سعر المنتج الموقّع يتم الحصول عليه مع بيانات المنتج عند تعيين signPrice.
مثال: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
productPages: IProductPageRef[]
مصفوفة من مراجع صفحات المنتجات تربط المنتج بصفحاتها.
مثال:
[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]
productPages.id: number
المعرف الفريد لسجل ارتباط المنتج بالصفحة.
مثال: 16
productPages.pageId: number
معرف الصفحة التي يرتبط بها المنتج.
مثال: 4
productPages.productId: number
معرف المنتج.
مثال: 15
productPages.positionId: number
معرف موضع الترتيب داخل الصفحة.
مثال: 244
productPages.categoryPath: string
مسار الفئة للصفحة التي ينتمي إليها المنتج.
مثال: "products"
blocks: string[]
مصفوفة من معرفات الكتل.
مثال:
[
"block_12345",
"block_67890"
]
🔒
signedPriceهو الرمز الموقّع الذي يحمل السعر المقفل - قم بإعادته عند إنشاء طلب. انظر سعر المنتج الثابت (signedPrice).