Séquencement des résultats de recherche à l'aide du classement des ventes
Ce tutoriel explique comment créer un index personnalisé pour héberger le classement des ventes de chaque produit. Vous allez utiliser un connecteur Ingest personnalisé pour copier incrémentiellement les classements des vente mis à jour dans l'index de produit. Vous personnaliserez ensuite un profil de recherche dans le service Query pour utiliser ce classement de vente afin de trier les résultats de recherche de termes.
Before you begin
About this task
Dans ce tutoriel, vous allez insérer des données de classement des ventes dans une table de base de données, créer un connecteur de classement, renseigner le classement des ventes dans l'index de produit et mettre à jour le profil de recherche pour inclure une nouvelle option de tri.
Note: Le tri ou le séquencement et le classement des résultats de recherche (organisation des résultats par score de pertinence) ne sont pas des actions compatibles. Le séquencement des classements des ventes doit être considéré comme une option de tri secondaire par rapport au classement de pertinence de recherche par défaut généralement utilisé pour les résultats de recherche. Pour plus d'informations sur la façon dont le service Query affecte la pertinence aux résultats de recherche, voir Pertinence du texte dans HCL Commerce Search.
Procedure
-
Créez un connecteur de classement.
Selon que vous mettez à jour l'environnement de création ou de production, ouvrez le modèle de descripteur auth-rank-connector.json ou live-rank-connector.json correspondant et renseignez les paramètres suivants spécifiques à votre environnement :
- Examinez la définition du schéma d'index de classement et mettez-la à jour si nécessaire.
- Mettez à jour la SQL dans ingest.database.sql pour extraire les données de classement des ventes. Par exemple :
SELECT FIELD1, CATENTRY_ID FROM CATENTRY WHERE FIELD1 IS NOT NULL ${paging.prefix} ${param.offset} ${paging.link} ${param.pageSize} ${paging.suffix} - Examinez les mappages de zone d'index pour stocker ces données dans l'index de classement :
CATENTRY_ID - id.catentry FIELD1 - custom.rank.numericNote: *.numeric est un modèle de schéma dynamique qui mappe à un type de données flottantes.
-
Renseignez les données de classement des ventes dans l'index de produit.
Pour commencer la copie dynamique dans l'index de produit, utilisez l'API suivante, à condition que vos index de recherche eSite aient déjà été générés.
POST /connectors/id/run?storeId=6970&envType=auth&nrt=trueoù id est le nom du connecteur, par exemple auth.rank.- Cette opération copie uniquement les valeurs nouvelles ou mises à jour dans l'index de classement, tandis que les valeurs inchangées seront ignorées pour minimiser les mises à jour de l'index de produit, ce qui déclenche à son tour l'invalidation du cache.
-
Mettez à jour le profil de recherche.
Pour utiliser le nouveau classement des ventes via le service Query, mettez à jour le profil de recherche suivant pour inclure une option de tri supplémentaire :
- Remplacez le profil de recherche par défaut pour effectuer des recherches de termes, HCL_V2_findProductsBySearchTerm, afin de trier les résultats de recherche à l'aide de la zone custom.rank.numeric.
- Utilisez l'API suivante pour mettre à jour le profil de recherche et le stocker dans le registre de configuration Zookeeper.
PUT /search/resources/api/v2/documents/profiles/HCL_V2_findProductsBySearchTerm