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

getPagesByVectorSearch

بحث دلالي (متجه) عن الصفحات.

الوصف

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

Pages.getPagesByVectorSearch(

body*, langCode, offset, limit

);

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

المخطط

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": [
{
"id": 9,
"config": {},
"depth": 1,
"parentId": 8,
"pageUrl": "blog1",
"attributeSetIdentifier": null,
"localizeInfos": {
"title": "Blog 1",
"htmlContent": "",
"plainContent": "",
"menuTitle": "Blog 1"
},
"isVisible": true,
"products": 0,
"childrenCount": 0,
"type": "common_page",
"position": 1,
"templateIdentifier": null,
"isSync": false,
"categoryPath": "blog/blog1",
"rating": {},
"attributeValues": {},
"moduleFormConfigs": []
}
],
"total": 1
}

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

المخطط: 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.blocks.attributeValues: IAttributeValues
خريطة لقيم السمات مفاتيحها بواسطة العلامة؛ كائن فارغ عند عدم وجودها.
مثال:

{
"block-text": {
"type": "string",
"value": "some text",
"isIcon": false,
"position": 0,
"additionalFields": [],
"isProductPreview": false
}
}

items.blocks.id: number
معرف فريد للكتلة.
مثال: 1234

items.blocks.localizeInfos: ILocalizeInfo
معلومات التوطين للكتلة.
مثال:

{
"key": "value"
}

items.blocks.version: number
إصدار كائن الكتلة.
مثال: 1

items.blocks.identifier: string
معرف سلسلة فريد للكتلة.
مثال: "block1"

items.blocks.type: BlockType
نوع الكتلة.
مثال: "product"

items.blocks.position: number
موضع الكتلة للتصنيف.
مثال: 1

items.blocks.templateIdentifier: string | null
معرف القالب المستخدم من قبل الكتلة، أو null إذا لم يكن ذلك مناسبًا.
مثال: "template1"

items.blocks.isVisible: boolean
تشير إلى ما إذا كانت الكتلة مرئية.
مثال: true

items.blocks.countElementsPerRow: number
عدد العناصر المعروضة في كل صف في الكتلة، إذا كان ذلك مناسبًا.
مثال: 3

items.blocks.quantity: number
كمية العناصر في الكتلة، إذا كان ذلك مناسبًا.
مثال: 5

items.blocks.similarProducts: IProductsResponse
استجابة تحتوي على منتجات مشابهة مرتبطة بالكتلة.
مثال:

{
"total": 10,
"items": []
}

items.blocks.products: IProductsEntity[]
مصفوفة من كائنات المنتجات المرتبطة بالكتلة.
مثال:

[
{
"id": 1,
"name": "Product 1"
},
{
"id": 2,
"name": "Product 2"
}
]

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().