getDiscountsByVectorSearch
Recherche sémantique (vectorielle) pour les remises.
Description
Cette méthode effectue une recherche sémantique (vectorielle) pour les remises à partir d'une requête en langage naturel - elle correspond au sens plutôt qu'aux mots-clés exacts. Elle renvoie une Promesse qui se résout en un objet IDiscountsResponse - un conteneur avec items (les remises) et total.
.getDiscountsByVectorSearch(
,
,
,
);
Schéma des paramètres
Schéma
body(obligatoire): IDiscountsVectorSearch
Corps de la recherche vectorielle
exemple:
{ queryText: "winter sale" }
body.queryText(obligatoire): string
Requête de recherche en langage naturel.
exemple: "vente d'hiver"
body.vectorDistanceThreshold: number
Remplacement du seuil de distance cosinus (0..2).
exemple: 0.3
body.maxHits: number
Top-K candidats récupérés avant la pagination. Par défaut : 100. Max : 500.
exemple: 10
body.debug: boolean
Lorsque vrai, chaque élément retourné obtient un champ distance.
exemple: false
langCode: string
Code de langue. Par défaut : "en_US"
exemple: "en_US"
offset: number
Paramètre pour la pagination. Par défaut : 0
exemple: 0
limit: number
Paramètre pour la pagination. Par défaut : 30
exemple: 30
Exemples
Exemple minimal
const response = await Discounts.getDiscountsByVectorSearch({ queryText: 'winter sale' });
Exemple avec attributs
const response = await Discounts.getDiscountsByVectorSearch(
{
queryText: 'winter sale',
vectorDistanceThreshold: 0.3,
maxHits: 50,
debug: true,
},
'en_US',
0,
30,
);
Exemple de réponse
{
"items": [],
"total": 0,
"indexReady": false
}
Schéma de réponse
Schéma : IDiscountsResponse
items: IDiscountsEntity[]
Tableau des entités de remise.
items.id: number
L'identifiant unique de la remise.
items.attributeSetId: number | null
L'identifiant de l'ensemble d'attributs lié à la remise, ou null lorsqu'aucun ensemble n'est lié.
items.localizeInfos: ILocalizeInfo
Le nom de la remise.
items.version: number
La version de la remise.
items.identifier: string
L'identifiant de la remise.
items.type: IDiscountType
Le type de la remise.
items.startDate: string
La date de début de la remise.
items.endDate: string
La date de fin de la remise.
items.discountValue: IDiscountValue
La valeur de la remise, y compris son type et ses limites de montant.
items.conditionLogic: string
La logique de la remise. Les valeurs possibles sont "AND" | "OR".
items.conditions: IDiscountCondition[]
Les conditions de la remise.
items.exclusions: Record<string, unknown> | null
Les exclusions de la remise.
items.gifts: Record<string, unknown> | null
Les cadeaux de la remise.
items.giftsReplaceCartItems: boolean
Indique si les cadeaux remplacent les articles du panier.
items.userGroups: Record<string, unknown> | null
Les groupes d'utilisateurs de la remise.
items.userExclusions: Record<string, unknown> | null
Les exclusions d'utilisateurs de la remise.
items.attributeValues: IAttributeValues
Les valeurs d'attribut de la remise.
items.attributeSetIdentifier: string
L'identifiant de l'ensemble d'attributs.
items.bonusEvent: Record<string, unknown>
Configuration de l'événement bonus.
items.position: number
Numéro de position pour le tri.
exemple: 1
items.total: number | string
Nombre total d'entrées associées.
exemple: "1"
items.distance: number
Distance cosinus par rapport à la requête. Renvoie uniquement par le point de terminaison de recherche sémantique (vectorielle) lorsque debug: true est passé dans le corps de la recherche.
exemple: 0.12
total: number
Nombre total de remises.
ℹ️ La recherche sémantique correspond au sens, et non au texte littéral. Pour une correspondance de mots-clés sur chaque type d'entité à la fois, utilisez globalSearch().