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

getProductsByVectorSearch

Tìm kiếm sản phẩm theo ngữ nghĩa (vector).

Mô tả

Phương thức này thực hiện tìm kiếm ngữ nghĩa (vector) cho các sản phẩm 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 IProductsResponse - một container với items (các sản phẩm) và total - không phải là một mảng trống.

Products.getProductsByVectorSearch(

body*, langCode, offset, limit

);

Sơ đồ tham số

Sơ đồ

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

{ queryText: "red running shoes" }

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ày chạy màu đỏ"

body.vectorDistanceThreshold: number
Khoảng cách vector tối đa cho một kết quả.
ví dụ: 0.5

body.maxHits: number
Số lượng kết quả tối đa để trả về.
ví dụ: 50

body.debug: boolean
Bao gồm thông tin gỡ lỗi trong phản hồi.
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 Products.getProductsByVectorSearch({ queryText: 'red running shoes' });

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

const response = await Products.getProductsByVectorSearch(
{
queryText: 'red running shoes',
vectorDistanceThreshold: 0.5,
maxHits: 50,
},
'en_US',
0,
30,
);

Phản hồi ví dụ

{
"items": [
{
"id": 2957,
"localizeInfos": {
"title": "Cosmo"
},
"isVisible": true,
"isSync": true,
"sku": null,
"price": 150,
"additional": {
"prices": {
"min": 51,
"max": 180
}
},
"categories": [
"catalog"
],
"statusIdentifier": "sale",
"statusLocalizeInfos": {
"title": "Sale"
},
"templateIdentifier": null,
"shortDescTemplateIdentifier": null,
"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": "USD",
"isIcon": false,
"position": 2,
"additionalFields": {},
"isProductPreview": false
},
"img": {
"type": "image",
"value": "",
"isIcon": false,
"position": 3,
"additionalFields": {},
"isProductPreview": true
}
},
"attributeSetIdentifier": "products",
"isPositionLocked": false,
"rating": {},
"paymentStages": null,
"moduleFormConfigs": [
{
"id": 12,
"formIdentifier": "review",
"moduleIdentifier": "catalog",
"isGlobal": false,
"isClosed": false,
"isModerate": false,
"viewOnlyMyData": false,
"commentOnlyMyData": false,
"entityIdentifiers": [
{
"id": "catalog",
"isNested": true
}
],
"formDataCount": 688,
"ratingCalculation": "average",
"allowHalfRatings": null,
"maxRatingScale": null,
"isAnonymous": null,
"allowRerating": null,
"isRating": null,
"entityFormDataCount": {
"2954": 688
},
"nestedEntityIdentifiers": [
"catalog"
],
"exceptionIds": []
}
],
"discountConfig": {}
}
],
"total": 1
}

Sơ đồ phản hồi

Sơ đồ: IProductsResponse

total: number
Tổng số sản phẩm được tìm thấy.
ví dụ: 100

items: IProductsEntity[]
Mảng các thực thể sản phẩm.
ví dụ:

[
{
"id": 12345,
"title": "Product 1"
},
{
"id": 67890,
"title": "Product 2"
}
]

items.id: number
Định danh duy nhất.
ví dụ: 12345

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

{}

items.statusIdentifier: string | null
Định danh trạng thái trang sản phẩm (có thể là null).
ví dụ: "còn_hàng"

items.statusLocalizeInfos: ILocalizeInfo
Tên trạng thái đã được địa phương hóa cho sản phẩm.
ví dụ:

{ "title": "Sale" }

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

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

items.price: number | null
Giá của trang sản phẩm lấy từ chỉ mục.
ví dụ: 150.00

items.additional: object
Giá trị bổ sung từ chỉ mục.
ví dụ:

{
"prices": {
"min": 5,
"max": 150
}
}

items.sku: string | null
SKU sản phẩm (Đơn vị lưu kho), có thể là null.
ví dụ: "SKU_12345"

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

items.attributeValues: IAttributeValues
Mảng các giá trị thuộc tính từ chỉ mục, được biểu diễn.
ví dụ:

[
{
"id": "color",
"value": "red"
}
]

items.categories: string[]
Danh mục sản phẩm.
ví dụ:

[
1,
2,
3
]

items.isVisible: boolean
Dấu hiệu về tính khả thi của trang.
ví dụ: true

items.moduleFormConfigs: Array<IFormConfig>
Cấu hình biểu mẫu module (tùy chọn).

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

items.isPositionLocked: boolean
Chỉ báo khóa vị trí sắp xếp (tùy chọn).
ví dụ: false

items.relatedIds: number[]
Id của các trang sản phẩm liên quan.
ví dụ:

[
12345,
67890
]

items.paymentStages: unknown
Dữ liệu các giai đoạn thanh toán (có thể là null).
ví dụ: null

items.distance: number
Khoảng cách liên quan đến tìm kiếm vector (ngữ nghĩa). Chỉ có trong kết quả của tìm kiếm vector.
ví dụ: 0.42

items.discountConfig: Record<string, unknown>
Đối tượng cấu hình giảm giá.
ví dụ:

{}

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

items.shortDescTemplateIdentifier: string | null
Id người dùng của mẫu liên kết cho mô tả ngắn.
ví dụ: "short_desc_template_12345"

items.signedPrice: string
Giá đã ký của sản phẩm được lấy cùng với dữ liệu sản phẩm khi signPrice được thiết lập.
xem: Giá sản phẩm cố định
ví dụ: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

items.productPages: IProductPageRef[]
Mảng các tham chiếu trang sản phẩm liên kết sản phẩm với các trang của nó.
ví dụ:

[
{
"id": 16,
"pageId": 4,
"productId": 15,
"positionId": 244,
"categoryPath": "products"
}
]

items.blocks: string[]
Mảng các định danh khối.
ví dụ:

[
"block_12345",
"block_67890"
]

totalFound: number
Số lượng sản phẩm khớp trước khi áp dụng giới hạn; được trả về bởi các điểm cuối sản phẩm khối (similarProducts, gợi ý giỏ hàng/danh sách yêu thích, thường xuyên đặt hàng). Tùy chọn.
ví dụ: 2

🔒 signedPrice là token đã ký mang giá đã khóa — hãy truyền lại khi bạn tạo đơn hàng. Xem Giá sản phẩm cố định (signedPrice).