getPagesByVectorSearch
البحث الدلالي (الذي يعتمد على المتجهات) عن الصفحات.
الوصف
تقوم هذه الطريقة بإجراء بحث دلالي (يعتمد على المتجهات) عن الصفحات من استعلام بلغة طبيعية - حيث تتطابق على المعنى بدلاً من الكلمات الرئيسية الدقيقة. تعيد هذه الطريقة Promise يتم حلها إلى كائن IPagesResponse - وهو حاوية تحتوي على items (الصفحات) و total - وليس مصفوفة عارية.
.getPagesByVectorSearch(
,
,
,
);
مخطط المعاملات
المخطط
body(required): IPagesVectorSearch
نص البحث بالمتجهات
مثال:
{ 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 Pages.getPagesByVectorSearch({ queryText: 'winter sale' });
مثال مع السمات
const response = await Pages.getPagesByVectorSearch(
{
queryText: 'winter sale',
vectorDistanceThreshold: 0.3,
maxHits: 50,
debug: true,
},
'en_US',
0,
30,
);
مثال على الاستجابة
{
"items": [],
"total": 0
}
مخطط الاستجابة
المخطط: IPagesResponse
items: IPagesEntity[]
مصفوفة من كائنات الصفحات التي تم العثور عليها.
items.id: number
معرف الكائن.
مثال: 8
items.parentId: number | null
معرف الصفحة الأصلية، إذا كان يحتوي على null، فإنه يمثل الصفحة الرئيسية.
مثال: 10
items.pageUrl: string
رابط الصفحة الفريد.
مثال: "مدونة"
items.depth: number
عمق تعشيش الصفحة بالنسبة إلى parentId.
مثال: 10
items.localizeInfos: ILocalizeInfo
اسم الصفحة، مع الأخذ في الاعتبار التوطين.
مثال:
{
"title": "Blog",
"menuTitle": "Blog",
"htmlContent": "",
"plainContent": ""
}
items.isVisible: boolean
علامة رؤية الصفحة.
مثال: true
items.type: PageType
نوع الصفحة.
مثال: "common_page"
items.templateIdentifier: string | null
معرف المستخدم للقالب المرتبط.
مثال: "template"
items.attributeSetIdentifier: string | null
معرف مجموعة السمات.
مثال: "page"
items.attributeValues: IAttributeValues
خريطة لقيم السمات مفاتيحها بواسطة العلامة؛ كائن فارغ عند عدم وجودها.
مثال:
{
"text": {
"type": "string",
"value": "some text",
"position": 0,
"additionalFields": []
}
}
items.isSync: boolean
إشارة إلى فهرسة الصفحة.
مثال: true
items.template: object
كائن القالب.
مثال:
{}
items.position: number
رقم العنصر (لترتيب العناصر).
مثال: 2
items.config: Record<string, number>
إعدادات الإخراج لصفحات الكتالوج.
مثال:
{
"rowsPerPage": 1,
"productsPerRow": 1
}
items.products: number
عدد المنتجات المرتبطة بالصفحة.
مثال: 0
items.childrenCount: number
عدد الأطفال.
مثال: 1
items.blocks: IBlockEntity[] | string[]
الكتل.
مثال:
{
"id": 4,
"attributeSetIdentifier": null,
"title": "Template",
"generalTypeId": 4,
"identifier": "template",
"version": 0,
"generalTypeName": "catalog_page",
"attributeValues": {},
"position": 1
}
items.moduleFormConfigs: Array<IFormConfig>
تكوينات نموذج الوحدة المرتبطة بالصفحة.
items.rating: IRating
بيانات التقييم.
items.total: string
إجمالي عدد المنتجات المرتبطة بالصفحة.
مثال: "10"
items.categoryPath: string | null
سلسلة مسار الفئة؛ null للصفحات المتداخلة التي ليس لديها مسار فئة خاص بها.
مثال: "كتالوج"
items.distance: number
المسافة الكوسينية إلى الاستعلام. يتم إرجاعها فقط من نقطة نهاية البحث الدلالي (الذي يعتمد على المتجهات) عندما يتم تمرير debug: true في جسم البحث.
مثال: 0.12
total: number
إجمالي عدد السجلات التي تم العثور عليها.
مثال: 100
ℹ️ يتطابق البحث الدلالي على المعنى، وليس على النص الحرفي. لاستخدام مطابقة الكلمات الرئيسية عبر كل نوع كيان مرة واحدة، استخدم globalSearch().