Chuyển đến nội dung chính

getPagesByVectorSearch

Tìm kiếm ngữ nghĩa (vector) cho các trang.

Mô tả

Phương thức này thực hiện tìm kiếm ngữ nghĩa (vector) cho các trang từ một truy vấn bằng ngôn ngữ tự nhiên - nó khớp với ý nghĩa thay vì từ khóa chính xác. Nó trả về một Promise mà khi hoàn thành sẽ trả về một đối tượng IPagesResponse - một container với items (các trang) và total - không phải là một mảng trống.

Pages.getPagesByVectorSearch(

body*, langCode, offset, limit

);

Sơ đồ tham số

Sơ đồ

body(bắt buộc): IPagesVectorSearch
Nội dung tìm kiếm vector
ví dụ:

{ queryText: "winter sale" }

body.queryText(bắt buộc): string
Truy vấn tìm kiếm bằng ngôn ngữ tự nhiên.
ví dụ: "giảm giá mùa đông"

body.vectorDistanceThreshold: number
Ghi đè ngưỡng khoảng cách cosine (0..2).
ví dụ: 0.3

body.maxHits: number
Các ứng viên hàng đầu được lấy trước khi phân trang. Mặc định: 100. Tối đa: 500.
ví dụ: 10

body.debug: boolean
Khi true, mỗi mục trả về sẽ có trường distance.
ví dụ: false

langCode: string
Mã ngôn ngữ. Mặc định: "en_US"
ví dụ: "en_US"

offset: number
Tham số cho phân trang. Mặc định: 0
ví dụ: 0

limit: number
Tham số cho phân trang. Mặc định: 30
ví dụ: 30

Ví dụ

Ví dụ tối thiểu

const response = await Pages.getPagesByVectorSearch({ queryText: 'winter sale' });

Ví dụ với thuộc tính

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

Ví dụ phản hồi

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

Sơ đồ phản hồi

Sơ đồ: IPagesResponse

items: IPagesEntity[]
Mảng các đối tượng trang đã tìm thấy.

items.id: number
Định danh của đối tượng.
ví dụ: 8

items.parentId: number | null
Id của trang cha, nếu chứa null, thì đó là trang cấp cao nhất.
ví dụ: 10

items.pageUrl: string
Url trang duy nhất.
ví dụ: "blog"

items.depth: number
Độ sâu lồng ghép của trang so với parentId.
ví dụ: 10

items.localizeInfos: ILocalizeInfo
Tên của trang, tính đến việc địa phương hóa.
ví dụ:

{
"title": "Blog",
"menuTitle": "Blog",
"htmlContent": "",
"plainContent": ""
}

items.isVisible: boolean
Dấu hiệu của sự hiển thị trang.
ví dụ: true

items.type: PageType
Loại trang.
ví dụ: "common_page"

items.templateIdentifier: string | null
Id người dùng của mẫu liên kết.
ví dụ: "template"

items.attributeSetIdentifier: string | null
Tập hợp các thuộc tính id.
ví dụ: "page"

items.attributeValues: IAttributeValues
Bản đồ các giá trị thuộc tính được đánh chỉ mục theo marker; đối tượng rỗng khi không có.
ví dụ:

{
"text": {
"type": "string",
"value": "some text",
"position": 0,
"additionalFields": []
}
}

items.isSync: boolean
Chỉ báo về việc lập chỉ mục trang.
ví dụ: true

items.template: object
Đối tượng mẫu.
ví dụ:

{}

items.position: number
Số thứ tự mục (để sắp xếp).
ví dụ: 2

items.config: Record<string, number>
Cài đặt đầu ra cho các trang danh mục.
ví dụ:

{
"rowsPerPage": 1,
"productsPerRow": 1
}

items.products: number
Số lượng sản phẩm liên kết với trang.
ví dụ: 0

items.childrenCount: number
Số lượng con.
ví dụ: 1

items.blocks: IBlockEntity[] | string[]
các khối.
ví dụ:

{
"id": 4,
"attributeSetIdentifier": null,
"title": "Template",
"generalTypeId": 4,
"identifier": "template",
"version": 0,
"generalTypeName": "catalog_page",
"attributeValues": {},
"position": 1
}

items.blocks.attributeValues: IAttributeValues
Bản đồ các giá trị thuộc tính được đánh chỉ mục theo marker; đối tượng rỗng khi không có.
ví dụ:

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

items.blocks.id: number
Định danh duy nhất của khối.
ví dụ: 1234

items.blocks.localizeInfos: ILocalizeInfo
Thông tin địa phương hóa cho khối.
ví dụ:

{
"key": "value"
}

items.blocks.version: number
Phiên bản của thực thể khối.
ví dụ: 1

items.blocks.identifier: string
Định danh chuỗi duy nhất cho khối.
ví dụ: "block1"

items.blocks.type: BlockType
Loại của khối.
ví dụ: "product"

items.blocks.position: number
Vị trí của khối để sắp xếp.
ví dụ: 1

items.blocks.templateIdentifier: string | null
Định danh cho mẫu được sử dụng bởi khối, hoặc null nếu không áp dụng.
ví dụ: "template1"

items.blocks.isVisible: boolean
Chỉ ra liệu khối có hiển thị hay không.
ví dụ: true

items.blocks.countElementsPerRow: number
Số lượng phần tử hiển thị trên mỗi hàng trong khối, nếu có.
ví dụ: 3

items.blocks.quantity: number
Số lượng mục trong khối, nếu có.
ví dụ: 5

items.blocks.similarProducts: IProductsResponse
Phản hồi chứa các sản phẩm tương tự liên kết với khối.
ví dụ:

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

items.blocks.products: IProductsEntity[]
Mảng các thực thể sản phẩm liên kết với khối.
ví dụ:

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

items.moduleFormConfigs: Array<IFormConfig>
Cấu hình biểu mẫu module liên kết với trang.

items.rating: IRating
Dữ liệu đánh giá.

items.total: string
Tổng số sản phẩm liên kết với trang.
ví dụ: "10"

items.categoryPath: string | null
Chuỗi đường dẫn danh mục; null cho các trang lồng ghép không có đường dẫn danh mục riêng.
ví dụ: "catalog"
items.distance: number
Khoảng cách cosine đến truy vấn. Chỉ được trả về bởi điểm cuối tìm kiếm ngữ nghĩa (vector) khi debug: true được truyền vào nội dung tìm kiếm.
ví dụ: 0.12

total: number
Tổng số bản ghi đã tìm thấy.
ví dụ: 100

ℹ️ Tìm kiếm ngữ nghĩa khớp với ý nghĩa, không phải với văn bản nguyên văn. Để khớp từ khóa trên mọi loại thực thể cùng một lúc, hãy sử dụng globalSearch().