Tous les produits
Search
Centre de documentation

OpenSearch:Build an e-commerce search prototype with OpenSearch

Dernière mise à jour :Aug 20, 2026

Construisez un système de recherche par mots-clés pour les catalogues de produits, prenant en charge la recherche multi-attributs, le filtrage par catégorie, l'analyse des requêtes et le classement par pertinence. À l'issue de ce tutoriel, vous disposerez d'un prototype de recherche fonctionnel capable d'accepter des requêtes par mots-clés, de filtrer les résultats par catégorie et par prix, de corriger les fautes de frappe dans les requêtes et de classer les résultats selon leur pertinence.

Architecture système du prototype de recherche e-commerce

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Un compte Alibaba Cloud associé à une paire AccessKey. L'application Open Search nécessite une paire AccessKey pour l'authentification.

  • (Facultatif) Une paire AccessKey pour un utilisateur RAM, si vous prévoyez de déléguer l'accès. Pour plus d'informations, consultez les Règles d'autorisation d'accès.

  • (Facultatif) Une instance ApsaraDB RDS for MySQL contenant les données produit, si vous envisagez d'utiliser une base de données comme source de données.

Étape 1 : Créer une application

La recherche e-commerce implique plusieurs tables liées, telles qu'une table de produits et une table de prix. Sélectionnez une application avancée qui prend en charge la jointure de plusieurs tables.

  1. Connectez-vous à la console Open Search. Dans le volet de navigation de gauche, cliquez sur Instance Management. Sur la page Instance Management, cliquez sur Create Instance. Dans le coin supérieur gauche de la page, définissez l'édition sur OpenSearch Industry Algorithm Edition, puis sélectionnez la région cible dans la barre de navigation supérieure.

  2. Sélectionnez le type d'application. Choisissez une application avancée qui prend en charge la jointure de plusieurs tables. Pour comparer les types d'applications, consultez la rubrique Comparaison entre les applications standard et les applications avancées.

  3. Configurez les paramètres de l'application.

    Ce tutoriel utilise les valeurs de paramètres suivantes :

    • Product Edition : Industry Algorithm Edition

    • Product Type : pay-as-you-go

    • Region and Zone : China (Hangzhou)

    • Industry Type : E-commerce Industry

    • Cluster Preferences : Exclusive Cluster - General-purpose

    Parameter Description

    | Product TypeInstance Management.

    Vous pouvez également charger les données via les API ou les SDK Open Search. Pour plus d'informations, consultez la section Présentation des API et Présentation des SDK.

    Étape 4 : Tester les requêtes de recherche

    Une fois le chargement des données terminé, effectuez un test de recherche. La console Open Search propose une page de test intégrée. Pour un accès programmatique, utilisez les API ou les SDK Open Search.

    Pour obtenir des détails sur la syntaxe de recherche, reportez-vous aux sections Envoyer des requêtes de recherche et clause query.

    Sur la page de test de recherche, sélectionnez l'application test_han_indexes et l'environnement d'application hors ligne. Saisissez query=title:'裙子' et définissez la clause config sur start:0.

    Étape 5 : Configurer l'analyse des requêtes

    L'analyse des requêtes traite ces dernières avant la récupération afin d'améliorer la qualité des résultats. Les requêtes de longue traîne peuvent renvoyer peu de résultats, tandis que celles comportant des fautes d'orthographe ou du pinyin chinois peuvent n'en retourner aucun. L'analyse des requêtes permet de résoudre ces problèmes. Pour en savoir plus, consultez les sections Analyse des requêtes et Effectuer des recherches basées sur la pertinence.

    Open Search propose les fonctionnalités d'analyse des requêtes suivantes :

    Fonctionnalité Description Exemple
    Instance Management Filtre les mots dénués de sens, tels que la ponctuation et les particules modales. Requête « Running Man ! » : le point d'exclamation est filtré.
    Create Instance Corrige automatiquement les fautes d'orthographe avérées. En cas d'erreur possible, la requête d'origine est conservée. « Alipapa » est corrigé en « Alibaba ».
    Product Type Évalue l'importance des termes et leur attribue des pondérations. Les termes peu importants peuvent être exclus de la récupération. Requête « Open Search is good or not » : récupère les documents contenant « Open Search ».
    subscription Étend les requêtes avec des synonymes issus de la bibliothèque de synonymes intégrée et des modèles sémantiques. Peut être combiné avec la pondération des mots pour de meilleurs résultats. « KFC » permet également de récupérer « Kentucky Fried Chicken ».
    pay-as-you-go Identifie les entités sémantiques dans les requêtes et attribue des priorités par catégorie. « Nike Slim Dress » : « Nike » (marque, priorité moyenne), « Slim » (style, priorité faible), « Dress » (catégorie, priorité élevée).

    Exemple : Configurer la correction orthographique

    Les étapes suivantes expliquent comment configurer une règle de correction orthographique.

    Créer un dictionnaire d'intervention

    1. Dans la console Open Search, accédez à Region and Zone > Application Name. Cliquez sur Application Type.

    2. Cliquez sur Cluster Preferences. Dans le panneau Storage Capacity and Computing Resources, saisissez un nom de dictionnaire, définissez le paramètre Manually define an application schema sur Use a template to define an application schema, puis cliquez sur Upload a file to define an application schema. Dans cet exemple, définissez le champ Name sur dic_error.

    3. Dans la liste des dictionnaires, repérez votre dictionnaire et cliquez sur Use a data source to define an application schema. La page de gestion des entrées affiche les détails du dictionnaire, notamment son nom, son type, sa date de création et le nombre d'entrées. Pour ajouter des entrées, cliquez sur Add Intervention Entry ou Add Entries in Batches.

    4. Cliquez sur Completed pour créer une entrée.

      Dans la boîte de dialogue Add Intervention Entry, spécifiez les informations suivantes :

      • Query : le terme de recherche à corriger, par exemple 连衣群

      • Corrected Word : le terme correct, par exemple 连衣裙

      • Intervention Type : sélectionnez Add ou Block

    5. Cliquez sur Application Details. L'entrée apparaît dans la liste des entrées d'intervention. Cette liste affiche les colonnes Query, Corrected Word, Intervention Type, Modified At, Status et Actions, et propose une zone de recherche Enter Query pour filtrer les entrées. Dans cet exemple, la requête incorrecte 连衣群 est corrigée en 连衣裙, le type d'intervention est Add et le statut est Effective.

    Créer une règle d'analyse des requêtes

    1. Accédez à Application Details > Stop word. Cliquez sur Spelling correction.

    2. Cliquez sur Word weight. Dans le panneau Synonym, définissez le paramètre Named entity recognition (NER) sur le dictionnaire de correction orthographique que vous avez créé (par exemple, dic_error). Dans ce même panneau, saisissez test_error comme nom de règle. Le nom peut contenir des chiffres, des lettres et des traits de soulignement (_), doit commencer par une lettre minuscule et ne pas dépasser 16 caractères. Définissez l'application cible sur test_han_indexes dans l'environnement d'application en ligne, définissez la portée de l'index sur title et le type d'industrie sur E-commerce, puis sélectionnez Spelling Correction dans la section des fonctionnalités. Sélectionnez System Built-in Dictionary comme source de dictionnaire, puis cliquez sur OK pour créer la règle.

    Tester et appliquer la règle

    1. Sur la page Search Algorithm Center, cliquez sur Retrieval Configuration dans la colonne Dictionary Management pour vérifier le comportement de correction. La liste des règles affiche le nom de l'analyse des requêtes test_error, le type Custom, l'index cible title, l'industrie E-commerce et la fonctionnalité incluse Spelling Correction.

    2. Après vérification, cliquez sur Create et définissez la règle comme règle d'analyse des requêtes par défaut.

      Sur la page de test de recherche, sélectionnez l'index, définissez le paramètre qp=test_error et saisissez la requête title:'连衣群', qui contient une faute d'orthographe intentionnelle. Cliquez sur Search. La console affiche une invite indiquant que les résultats sont renvoyés pour 连衣裙 avec la possibilité de rechercher plutôt 连衣群, la requête est automatiquement corrigée en (title:"连衣裙") et les produits correspondant à 连衣裙 sont renvoyés.

      Une fois la règle définie par défaut, le nom de l'analyse des requêtes dans la liste des règles devient [Default]test_error, affiché en rouge car la règle n'est pas encore publiée, et la colonne Default indique Yes. Pour annuler cette opération, cliquez sur Cancel Default Rule dans la colonne Actions.

    Étape 6 : Configurer les expressions de tri

    Les expressions de tri déterminent le classement des résultats de recherche. Vous pouvez spécifier ces expressions dans la clause de requête pour ordonner les résultats. Open Search utilise une approche de classement en deux phases : le tri approximatif (première phase) réduit le nombre de candidats, tandis que le tri fin (deuxième phase) détermine l'ordre final.

    Pour plus d'informations, consultez la rubrique Configurer les expressions de tri.

    Créer une expression de tri approximatif

    1. Dans la console Open Search, accédez à Create Query Analysis Dictionary > Dictionary Type pour ouvrir la page Spelling Correction.

    2. Cliquez sur Save afin d'ajouter une expression de tri approximatif. Sélectionnez des champs représentatifs, tels que le score textuel et le score de pertinence temporelle. Le tri approximatif ayant un impact significatif sur les performances de recherche, choisissez les champs avec soin.

      Lors de l'étape des informations de base, sélectionnez l'Target Application et son environnement, puis saisissez un Policy Name. Le nom doit comporter entre 1 et 30 caractères, commencer par une lettre et peut contenir des lettres majuscules, des lettres minuscules, des chiffres et des traits de soulignement (_). Définissez le paramètre Type sur Expression, puis cliquez sur Next.

      Lors de l'étape de configuration du tri, définissez la valeur de Scoring Feature sur static_bm250 et celle de Weight sur 1, puis cliquez sur Finish.

    Créer une expression de tri fin

    Ajoutez une expression de tri fin pour le calcul de la pertinence textuelle.

    Sur la page des informations de base de l'assistant Create Policy, saisissez un Policy Name, définissez le champ Application Scope sur Fine Sort, configurez le paramètre Type sur Expression, puis cliquez sur Next pour accéder à l'étape de configuration du tri.

    Dans l'éditeur d'expressions de tri, saisissez text_relevance(title), puis cliquez sur Finish.

    Comparer les résultats de tri

    Sur la page Manage Entries , comparez les résultats d'une requête standard avec ceux d'une requête appliquant l'expression de tri.

    Sélectionnez l'index test_han_indexes et définissez le type d'application sur Online Application. Saisissez query=title:'裙子' et configurez la clause config avec la valeur start:0. La page affiche côte à côte les résultats de deux politiques de tri fin, ce qui vous permet de vérifier l'effet de votre configuration.

    Étape 7 : Ajouter des suggestions automatiques et la prédiction de catégorie

    Suggestions automatiques

    Les suggestions automatiques aident les utilisateurs à trouver plus rapidement leurs requêtes lors de la saisie, réduisant ainsi l'effort de saisie dans la recherche e-commerce. Pour obtenir des instructions de configuration, consultez la rubrique Suggestions automatiques.

    Prédiction de catégorie

    La prédiction de catégorie identifie la catégorie de produit la plus probablement ciblée par une requête de recherche. Pour obtenir des instructions de configuration, consultez la rubrique Prédiction de catégorie.

    Étape 8 : Contrôler la diversité des résultats et le filtrage

    Clauses distinctes

    Lorsque plusieurs produits d'un même vendeur obtiennent des scores élevés, ils risquent de dominer la page de résultats. Les clauses distinctes imposent une diversité afin que les résultats incluent des produits provenant de plusieurs vendeurs. Pour plus d'informations, consultez la rubrique Clauses distinctes.

    Clauses de filtrage

    Les clauses de filtrage permettent aux utilisateurs de restreindre les résultats selon des plages d'attributs, telles que le prix. Pour plus d'informations, consultez la rubrique Clauses de filtrage.

    Le code Java suivant illustre le filtrage par plage de prix :

    if(!lowPrice.equals("")){
      queryElement.addFilter("price>=" + lowPrice);
    }
    if(!highPrice.equals("")){
      queryElement.addFilter("price<=" + highPrice);
    }

    Ce que vous avez construit

    Une fois ces étapes terminées, votre prototype de recherche e-commerce prend en charge les fonctionnalités suivantes :

    • Recherche par mots-clés multi-attributs sur des tables jointes

    • Analyse des requêtes avec correction orthographique, suppression des mots vides, gestion des synonymes et reconnaissance d'entités nommées

    • Classement de pertinence en deux phases avec expressions de tri approximatif et de tri fin

    • Suggestions automatiques et prédiction de catégorie

    • Diversité des résultats grâce aux clauses distinctes et filtrage par prix via les clauses de filtrage

    Open Search fournit des API et des SDK de recherche qui vous permettent d'intégrer ces capacités à votre application sans avoir à construire ni maintenir une infrastructure de recherche personnalisée.

    Étapes suivantes