HCL Commerce Search Interface

L'interface de recherche sur le serveur HCL Commerce Search est composée d'un ensemble de paramètres de contrôle liés à la recherche. Ces paramètres prennent la forme d'une représentation Java interne appelée objet SearchCriteria.

Temps d'exécution de la recherche

La programmation d'exécution de recherche se compose d'un ensemble de services REST, d'une structure d'exécution de recherche et d'un ensemble de services de base HCL Commerce qui fournissent également l'accès à la base de données HCL Commerce. La structure de recherche réutilise le modèle de programmation de recherche actuel. Au lieu d'utiliser le BOD et de faire de la médiation basée sur des objets, le modèle de programmation de recherche ne repose sur aucun SDO. Au lieu de cela, il utilise POJO et les données brutes renvoyées depuis le serveur de recherche pour effectuer un simple mappage de la paire nom-valeur.

Paramètres de contrôle

Profil de recherche (_wcf.search.profile)
Définit une collection qui regroupe un ensemble de paramètres d'exécution de recherche tels que le nom de l'index de recherche, les zones d'index de recherche, les fournisseurs d'expression, la pagination et le tri. Le profil définit également les configurations des fonctions de recherche telles que les mises en évidence de texte, les facettes et la correction orthographique. Par conséquent, il est possible de contrôler l'expérience de recherche en vitrine au niveau d'une page à l'aide de différents profils de recherche.

Pour plus d'informations, voir HCL Commerce Search fichier de configuration (wc-search.xml).

Filtres (_wcf.search.(exclude.)term, _wcf.search.category, _wcf.search.(exclude.)facet, _wcf.search.manufacturer, _wcf.search.price.minimum/maximum)
Ces paramètres sont des critères de recherche qui déclenchent l'exécution d'une opération de recherche. Puisque ces actions peuvent être suivies pour une référence ultérieure, ces paramètres ne peuvent pas être permanents ou reportés aux requêtes de recherche ultérieures. Par exemple, effectuer une navigation à facettes après le retour d'une recherche de mot clé implique d'abord une recherche par mot clé. Ensuite, le mot clé est stocké dans le contexte de la deuxième requête de recherche de facettes.
Filtres (_wcf.search.meta)
Contient la chaîne de métadonnées d'entrée, c'est-à-dire l'historique des clics précédents de la séquence des requêtes en cours. Il ne se souvient que des paramètres fournis par l'utilisateur par le biais de la vitrine. Ne stockez pas les métadonnées internes, telles que le chemin d'accès du magasin, qui peuvent être régénérées lors de la requête suivante. Les exceptions sont que les seuls paramètres spécifiés par l'utilisateur qui ne sont pas rappelés sont les mots clés et l'ID de catégorie. Ils sont toujours transmis pour lancer la logique de marketing qui génère les emplacements e-marketing appropriés.

Pour obtenir un comportement permanent, une chaîne de métadonnées générée par le serveur est jointe à toutes les requêtes ultérieures. Cette chaîne de métadonnées contient tout le contexte de recherche précédemment exécuté, tel que les facettes appliquées. Cette chaîne de métadonnées est codée avec UTF8 base64 et est donc compatible avec les URL.

Type de correspondance (_wcf.search.type)
Le type de correspondance peut être utilisé pour définir des instructions de recherche plus précises sur la façon dont le moteur de recherche peut exécuter l'opération de recherche avec l'ensemble de mots clés.

Par exemple, les exemples suivants fournissent plusieurs combinaisons d'utilisation pour deux termes de recherche, t1 et t2, par rapport à deux zones, f1 et f2 :

  • Inclure EXACT +(f1:"t1 t2" f2:"t1 t2")
  • Inclure NONE -(f1:(t1 t2) f2:(t1 t2))
  • Inclure ALL +(f1:(+t1 +t2) f2:(+t1 +t2))
  • Inclure ANY +(f1:(t1 t2) f2:(t1 t2))
  • Exclure EXACT -f1:"t1 t2" -f2:"t1 t2"
  • Exclure ANY ou ALL -f1:(t1 t2) -f2:(t1 t2)
La sous-expression suivante, dans laquelle la valeur de ce paramètre est utilisée pour déterminer s'il faut inclure SKU dans la zone de recherche, est ajoutée :
  • Exclure SKU -catenttype_id_ntk_cs:ItemBean
  • Seulement SKU +catenttype_id_ntk_cs:ItemBean
Les valeurs possibles pour l'affectation à _wcf.search.type sont les suivantes :
  • 0 : ANY (exclure SKU)
  • 1 : EXACT (exclure SKU)
  • 2 : ALL (exclure SKU)
  • 3 : NONE (exclure SKU)
  • 10 : ANY (inclure SKU)
  • 11: EXACT (inclure SKU)
  • 12: ALL (y compris SKU)
  • 13: NONE (inclure SKU)
  • 100 : ANY (seulement SKU)
  • 101 : EXACT (seulement SKU)
  • 102 : ALL (seulement SKU)
  • 103 : NONE (seulement SKU)
  • 1000 ANY (inclure les produits, les kits, les groupements, la SKU de niveau catégorie) (exclure la SKU de niveau produit)
  • 1001 : EXACT (inclure les produits, les kits, les groupements, la SKU de niveau catégorie) (exclure la SKU de niveau produit)
  • 1002 : ALL (inclure les produits, les kits, les groupements, la SKU de niveau catégorie) (exclure la SKU de niveau produit)
  • 1003 : NONE (inclure les produits, les kits, les groupements, la SKU de niveau catégorie) (exclure la SKU de niveau produit)
  • 10000 : ANY (inclure la SKU de niveau catégorie) (exclure les produits, kits, groupements, SKU de niveau produit)
  • 10001 : EXACT (inclure la SKU de niveau catégorie) (exclure les produits, les kits, les groupements, la SKU de niveau produit)
  • 10002 : ALL (inclure la SKU de niveau catégorie) (exclure les produits, les kits, les groupements et la SKU de niveau produit)
  • 10003 : NONE (inclure la SKU de niveau catégorie) (exclure les produits, les kits, les groupements et la SKU de niveau produit)
La valeur de ce paramètre doit être toujours transmise pendant la recherche ou la navigation, car elle n'est pas mémorisée par la chaîne de métadonnées.
Expression de recherche facultative personnalisée (_wcf.search.expr)
Facultatif : L'appelant peut inclure une expression native de moteur de recherche dans la requête à l'aide de ce paramètre de contrôle. Toutefois, cette utilisation n'est pas recommandée, car elle transforme l'expression de recherche en une instruction spécifique au moteur de recherche.
Expression de recherche obligatoire personnalisée (_wcf.search.mandatory.expr)
La valeur de ce paramètre est toujours transmise pendant la recherche ou la navigation. Il est utilisé uniquement dans SolrRESTSearchByCustomExpressionProvider pour ajouter l'expression à la requête de recherche principale avec un opérateur AND.
Tri personnalisé (_wcf.search.sort)
Permet à l'appelant de remplacer l'ordre de classement de pertinence à partir du moteur de recherche. La valeur donnée dans ce paramètre est un nom logique défini dans le profil de recherche. Il est ensuite mappé dans un nom de colonne d'index physique et un ordre de tri.
Par exemple :

<_config:sort>
  <_config:field name="1" value="mfName_ntk_cs asc" />
  <_config:field name="2" value="name_ntk_cs asc" />
  <_config:field name="3" value="price_* asc" /> 
  <_config:field name="4" value="price_* desc" /> 
</_config:sort>
_wcf.search.category.limitSubCategories
Cette liste de nombres séparés par des virgules contrôle la profondeur des sous-catégories et limite le nombre d'articles renvoyés sous chaque niveau de catégorie.

Le premier numéro de la liste détermine le nombre maximal de catégories à indiquer dans la catégorie demandée.

Le deuxième numéro de la liste détermine le nombre maximal de catégories à indiquer dans les catégories de premier niveau.

Une valeur de -1 n'implique aucune limite.

Expression de recherche personnalisée pour l'exclusion (_wcf.search.filter.expr)
La valeur de ce paramètre est toujours transmise pendant la recherche ou la navigation. Il n'est utilisé que dans SolrRESTSearchByCustomExpressionProvider.
Paramètre de taille de page (_wcf.search.page.size_)
La valeur de ce paramètre est utilisée pour permettre au client de transmettre la taille de chaque page dans le résultat de recherche.
Paramètre de numéro de page (_wcf.search.page.number)
La valeur de ce paramètre est utilisée pour permettre au client de transmettre la taille de chaque page de début dans le résultat de recherche.
_wcf.search.facet.field.limit
Le nombre maximal de contraintes pouvant être renvoyé pour toutes les facettes.

Le format de la valeur du paramètre est facet_field_name:number_of_constraint_counts. Par exemple, _wcf.search.facet.field.limit='mfName_ntk_cs:3'.

Utilisez un numéro négatif pour demander tous les nombres de contraintes.

_wcf.search.partnumber
La référence de l'entrée de catalogue
_wcf.search.store.physical
L'identificateur de magasin physique à utiliser pour récupérer le nombre de stocks.
_wcf.search.internal.store.path
Stocke le chemin d'accès au magasin calculé.
_wcf.search.ignoreInventory
Grâce à ce paramètre, le filtre de stock que vous avez ajouté à toutes vos recherches sera ignoré.

Paramètres de contrôle obligatoires

La liste suivante décrit le contexte de recherche et de navigation obligatoire requis pour chaque requête de recherche :
_wcf.search.catalog
Le catalogue à utiliser pour la requête de recherche en cours.
_wcf.search.currency
La devise à utiliser pour la requête de recherche en cours.
_wcf.search.language
L'identificateur de langue à utiliser pour la requête de recherche en cours.
_wcf.search.store.online
L'identificateur de magasin en ligne à utiliser pour la requête de recherche en cours.

Paramètres de contrôle des autorisations B2B

_wcf.search.contract
Paramètre de contrôle utilisé en interne pour représenter les informations relatives aux autorisations contractuelles.
_wcf.search.hostcontract
Paramètres de contrôle utilisés en interne pour représenter l'identificateur de contrat d'hébergement.
_wcf.search.eligible.contract
Paramètres de contrôle utilisés en interne pour représenter une liste de contrats éligibles appartenant à l'utilisateur actuel.
_wcf.search.current.contract
Paramètres de contrôle utilisés en interne pour représenter le contrat défini dans la session de l'utilisateur actuel.
_wcf.search.internal.entitlement.expression
Paramètres de contrôle utilisés en interne pour l'expression de recherche d'autorisations.

Paramètres de contrôle de mappage des services REST

_wcf.search.internal.service.resource
Nom de la ressource du service de recherche pour la requête en cours.
_wcf.search.internal.service.resource.url
L'URL de la ressource du service de recherche pour la requête en cours.
_wcf.search.internal.response.format
Format de réponse du service de recherche à utiliser pour la requête en cours. Les services REST prennent en charge les formats JSON et XML pour les données d'entrée et de sortie par défaut. La format par défaut est JSON.
_wcf.search.internal.response.template
Vous pouvez créer un modèle de représentation (fichier JSP) par ressource dans le système de fichiers qui est utilisé pour générer la représentation de types de médias spécifiques, tels que les flux XHTML et Atom.
_wcf.search.internal.response.fields
Une liste des zones de retour pour la réponse de recherche.

Paramètres de contrôle de l'utilisation interne

_wcf.search.index
Définit le nom de base de la requête de recherche.
_wcf.search.internal.experiment
La valeur de ce paramètre est utilisée pour représenter l'expérience de test AB. Il se compose de quatre identificateurs de pièce dans l'ordre suivant : emplacement marketing, activité, expérience et élément de test.
_wcf.search.internal.filterquery
Définit une liste à plusieurs valeurs de critères de requête de filtre.
_wcf.search.internal.sort
Contient la valeur de ce paramètre pour effectuer le tri pour les recherches imbriquées internes.
_wcf.search.internal.boostquery
Contient la valeur de la requête de stimulation utilisée pour influencer le score de pertinence des résultats. Ce paramètre est utilisé avec _wcf.search.internal.query. La requête de stimulation affecte la notation des éléments qui correspondent déjà à la requête dans _wcf.search.internal.query. Si un élément correspond également à _wcf.search.internal.query, il obtient un score plus élevé ou plus bas, selon que la requête de stimulation augmente ou diminue le score de pertinence.
_wcf.search.internal.mandatory.query
Contient des expressions de recherche partielle à utiliser dans la section requête de l'expression de recherche. Chaque élément de ce tableau est traité comme un terme distinct et est AND ensemble pour former l'expression finale du moteur de recherche. Autrement dit, toutes les expressions doivent correspondre aux documents recherchés. Ces expressions peuvent être utilisées avec les expressions de _wcf.search.internal.optional.query. Toutes les valeurs spécifiées ne peuvent pas être mémorisées dans la chaîne de métadonnées.
Note: Ce paramètre dispose de plusieurs valeurs.
_wcf.search.internal.optional.query
Contient des expressions de recherche partielle à utiliser dans la section requête de l'expression de recherche. Chaque élément de ce tableau est traité comme un terme distinct est OR ensemble pour former l'expression finale du moteur de recherche. Autrement dit, au moins une des expressions doit correspondre aux documents recherchés. Ces expressions peuvent être utilisées avec les expressions de _wcf.search.internal.mandatory.query. Toutes les valeurs spécifiées ne peuvent pas être mémorisées dans la chaîne de métadonnées.
Note: Il s'agit d'un paramètre à plusieurs valeurs.
_wcf.search.internal.filterquery
Contient des expressions pour une expression de requête filtrée. Chaque élément de ce tableau est traité comme un terme distinct et est attribué individuellement comme des paramètres fq distincts lorsqu'il est envoyé au moteur de recherche. Ces valeurs peuvent ressembler à des filtres (également connus en tant que AND - intersections) de tous les jeux de résultats.
Note: Il s'agit d'un paramètre à plusieurs valeurs.
_wcf.search.intent.term
La valeur du paramètre est le terme que l'utilisateur a l'intention de rechercher. La différence entre _wcf.search.intent.term et _wcf.search.term est que _wcf.search.term a été mis en échappement avec les caractères réservés à Solr.
_wcf.search.originalterm
La valeur du paramètre est le terme d'origine qui initie la deuxième requête de recherche corrigée orthographiquement, _wcf.search.originalterm n'est pas mis en échappement avec des caractères réservés à Solr comme _wcf.search.intention.term.
_wcf.search.source
Utilisé comme une notion pour identifier la nature de la source de la requête de recherche par mot clé de la vitrine.
Les valeurs acceptées sont les suivantes :
Q
Recherche rapide.
A
Recherche avancée.
E
Recherche approfondie. Extrait les produits de toutes les catégories et sous-catégories enfant.
S
Correction orthographique.
N
Navigation.
O
Autres.
_wcf.search.internal.synonyms
Utilisé en interne pour l'expansion des synonymes.
_wcf.search.catalogfilter
_wcf.search.contract
Paramètres de contrôle utilisés en interne pour représenter les informations sur les autorisations du contrat.
_wcf.search.facet.field
_wcf.search.facet.properties
_wcf.search.facetquery.field
Utilisé en interne pour représenter les opérations de facettes.
_wcf.search.internal.workspace.schema
_wcf.search.internal.workspace.indexname
Utilisé en interne pour représenter les informations actuelles relatives à l'espace de travail.
_wcf.search.internal.edismax.mm
Utilisé en interne pour représenter le nombre minimum de critères de recherche qui doivent correspondre.
Par défaut, tous les mots ou expressions spécifiés dans le paramètre q sont traités comme des clauses optional à moins qu'elles ne soient précédées par des caractères + ou -.
Lorsqu'elle est utilisée avec les clauses optional, l'option mm permet de choisir le nombre minimum de clauses qui doivent correspondre (mm).
La valeur par défaut est 1. Toutefois, lorsque la recherche utilise le type de correspondance All, la valeur par défaut est définie sur 100 %.
_wcf.search.internal.edismax.queryfields
Utilisé en interne pour représenter la liste des zones de requête et leurs facteurs de stimulation correspondants.
_wcf.search.edismax.maxSlop
Utilisé en interne pour représenter la plage des requêtes Solr Dismax.
Une requête de phrase désordonnée spécifie une "plage" maximale, ou alors le nombre de jetons de position qui doivent être déplacés pour obtenir une correspondance. Plus les deux termes sont proches dans le document, plus le score est élevé.