Aller au contenu principal

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().