Lewati ke konten utama

getProductsByVectorSearch

Pencarian semantik (vektor) untuk produk.

Deskripsi

Metode ini melakukan pencarian semantik (vektor) untuk produk dari kueri bahasa alami - mencocokkan berdasarkan makna daripada kata kunci yang tepat. Ini mengembalikan sebuah Promise yang menyelesaikan menjadi array objek IProductsEntity.

Produk.getProductsByVectorSearch(

body*, langCode, offset, limit

);

Skema parameter

Skema

body(required): IVectorSearchProducts
Isi pencarian vektor
contoh:

{ queryText: "red running shoes" }

body.queryText(required): string
Kueri pencarian dalam bahasa alami.
contoh: "sepatu lari merah"

body.vectorDistanceThreshold: number
Jarak vektor maksimum untuk sebuah hit.
contoh: 0.5

body.maxHits: number
Jumlah maksimum hit yang akan dikembalikan.
contoh: 50

body.debug: boolean
Termasuk info debug dalam respons.
contoh: false

langCode: string
Kode bahasa. Default: "en_US"
contoh: "en_US"

offset: number
Parameter untuk paginasi. Default: 0
contoh: 0

limit: number
Parameter untuk paginasi. Default: 30
contoh: 30

Contoh

Contoh minimal

const response = await Products.getProductsByVectorSearch({ queryText: 'red running shoes' });

Contoh dengan atribut

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

Contoh respons

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

Skema respons

Skema: IProductsEntity[]

id: number
Identifikasi unik.
contoh: 12345

localizeInfos: ILocalizeInfo
Nama produk, dengan mempertimbangkan lokalisasi.
contoh:

{}

statusIdentifier: string | null
Identifikasi status halaman produk (bisa null).
contoh: "in_stock"

statusLocalizeInfos: ILocalizeInfo
Nama status yang dilokalisasi untuk produk.
contoh:

{ "title": "Sale" }

attributeSetIdentifier: string | null
ID set atribut.
contoh: "set_12345"

position: number
Nomor item (untuk pengurutan).
contoh: 1

price: number | null
Nilai harga halaman produk yang diambil dari indeks.
contoh: 150.00

additional: object
Nilai tambahan dari indeks.
contoh:

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

sku: string | null
SKU produk (Stock Keeping Unit), bisa null.
contoh: "SKU_12345"

isSync: boolean
Indikasi pengindeksan halaman.
contoh: true

attributeValues: IAttributeValues
Array nilai atribut dari indeks, yang direpresentasikan.
contoh:

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

categories: string[]
Kategori produk.
contoh:

[
1,
2,
3
]

isVisible: boolean
Tanda visibilitas halaman.
contoh: true

moduleFormConfigs: Array<IFormConfig>
Konfigurasi formulir modul (opsional).

rating: IRating
Data penilaian.

isPositionLocked: boolean
Indikator kunci posisi pengurutan (opsional).
contoh: false

relatedIds: number[]
ID halaman produk terkait.
contoh:

[
12345,
67890
]

paymentStages: unknown
Data tahap pembayaran (bisa null).
contoh: null

distance: number
Jarak relevansi pencarian vektor (semantik). Hanya ada dalam hasil pencarian vektor.
contoh: 0.42

discountConfig: Record<string, unknown>
Objek konfigurasi diskon.
contoh:

{}

templateIdentifier: string | null
ID pengguna dari template yang terhubung.
contoh: "template_12345"

shortDescTemplateIdentifier: string | null
ID pengguna dari template yang terhubung untuk deskripsi singkat.
contoh: "short_desc_template_12345"

signedPrice: string
Harga yang ditandatangani dari produk diperoleh bersamaan dengan data produk ketika signPrice diatur.
contoh: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

productPages: IProductPageRef[]
Array referensi halaman produk yang menghubungkan produk ke halamannya.
contoh:

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

productPages.id: number
Identifikasi unik dari catatan tautan produk-ke-halaman.
contoh: 16

productPages.pageId: number
Identifikasi halaman yang terhubung dengan produk.
contoh: 4

productPages.productId: number
Identifikasi produk.
contoh: 15

productPages.positionId: number
Identifikasi posisi pengurutan dalam halaman.
contoh: 244

productPages.categoryPath: string
Jalur kategori dari halaman tempat produk berada.
contoh: "produk"

blocks: string[]
Array identifikasi blok.
contoh:

[
"block_12345",
"block_67890"
]

🔒 signedPrice adalah token yang ditandatangani yang membawa harga terkunci — kirimkan kembali saat Anda membuat pesanan. Lihat Harga produk tetap (signedPrice).