getDiscountsByVectorSearch
Tìm kiếm giảm giá 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 giảm giá 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 giải quyết sẽ trả về một đối tượng IDiscountsResponse - một container với items (các giảm giá) và total.
Giảm giá.getDiscountsByVectorSearch(
body*,
langCode,
offset,
limit
);
Sơ đồ tham số
Sơ đồ
body(bắt buộc): IDiscountsVectorSearch
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
Số lượng ứ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 Discounts.getDiscountsByVectorSearch({ queryText: 'winter sale' });
Ví dụ với các thuộc tính
const response = await Discounts.getDiscountsByVectorSearch(
{
queryText: 'winter sale',
vectorDistanceThreshold: 0.3,
maxHits: 50,
debug: true,
},
'en_US',
0,
30,
);
Ví dụ phản hồi
{
"items": [
{
"id": 1,
"type": "DISCOUNT",
"attributeSetId": 31,
"conditionLogic": "AND",
"discountValue": {
"value": 10,
"maxAmount": 5,
"discountType": "FIXED_AMOUNT",
"applicability": "TO_PRODUCT"
},
"exclusions": null,
"gifts": null,
"giftsReplaceCartItems": false,
"userGroups": null,
"userExclusions": null,
"localizeInfos": {
"title": "Example discount"
},
"version": 0,
"identifier": "example_discount",
"startDate": "2026-03-14T14:55:19.928Z",
"endDate": "2026-07-31T13:55:24.647Z",
"attributeValues": {
"example_discount": {
"type": "string",
"value": "test value",
"isIcon": false,
"position": 0,
"additionalFields": {},
"isProductPreview": false
}
},
"conditions": [],
"bonusEvent": null,
"position": 1
}
],
"total": 1
}
Sơ đồ phản hồi
Sơ đồ: IDiscountsResponse
items: IDiscountsEntity[]
Mảng các thực thể giảm giá.
items.id: number
Định danh duy nhất của giảm giá.
items.attributeSetId: number | null
Định danh của bộ thuộc tính liên kết với giảm giá, hoặc null khi không có bộ nào được liên kết.
items.localizeInfos: ILocalizeInfo
Tên của giảm giá.
items.version: number
Phiên bản của giảm giá.
items.identifier: string
Định danh của giảm giá.
items.type: IDiscountType
Loại giảm giá.
items.startDate: string
Ngày bắt đầu của giảm giá.
items.endDate: string
Ngày kết thúc của giảm giá.
items.discountValue: IDiscountValue
Giá trị của giảm giá, bao gồm loại và giới hạn số tiền.
items.conditionLogic: string
Logic của giảm giá. Các giá trị có thể là "AND" | "OR".
items.conditions: IDiscountCondition[]
Các điều kiện của giảm giá.
items.exclusions: Record<string, unknown> | null
Các loại trừ của giảm giá.
items.gifts: Record<string, unknown> | null
Các món quà của giảm giá.
items.giftsReplaceCartItems: boolean
Liệu các món quà có thay thế các mặt hàng trong giỏ hàng không.
items.userGroups: Record<string, unknown> | null
Các nhóm người dùng của giảm giá.
items.userExclusions: Record<string, unknown> | null
Các loại trừ người dùng của giảm giá.
items.attributeValues: IAttributeValues
Các giá trị thuộc tính của giảm giá.
items.attributeSetIdentifier: string
Định danh của bộ thuộc tính.
items.bonusEvent: Record<string, unknown>
Cấu hình sự kiện thưởng.
items.position: number
Số thứ tự để sắp xếp.
ví dụ: 1
items.total: number | string
Tổng số lượng các mục liên quan.
ví dụ: "1"
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ố lượng giảm giá.
ℹ️ 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().