Tous les produits
Search
Centre de documentation

OpenSearch:Modèle e-commerce : Recherche multimodale

Dernière mise à jour :Aug 10, 2026

Introduction

La fonction recherche multimodale d'OpenSearch combine la recherche textuelle et la recherche vectorielle pour offrir une précision supérieure, ainsi qu'une latence et des coûts de calcul inférieurs à ceux des recherches utilisant une logique OU. Cette approche s'est avérée efficace dans des scénarios tels que la réponse aux questions. L'architecture de recherche multimodale peut également s'appliquer à la récupération de vecteurs d'images, à la récupération de formules et à la récupération personnalisée.image

Pourquoi utiliser la recherche multimodale ?

  • Elle récupère les documents pertinents que les recherches textuelles traditionnelles pourraient manquer en raison des limites liées à la tokenisation, à la correspondance de synonymes ou à la correction orthographique.

  • Elle améliore le rappel pour les requêtes de longue traîne qui retourneraient sinon peu ou aucun résultat.

Exemple :

Un utilisateur recherche « fast charge ». Un tokenizer standard pourrait diviser cette expression en deux termes : fast et charge.

Si un document contient l'expression « supports quick charging », ses jetons pourraient être supports, quick et charging. Une recherche textuelle basée sur la correspondance de jetons ne permettrait pas de récupérer ce document. En revanche, une recherche vectorielle se fonde sur le sens sémantique, et non uniquement sur les mots exacts. Elle reconnaîtrait la relation étroite entre « fast charge » et « quick charging » et récupérerait le document avec succès.

Configuration de la recherche multimodale

1. Configurez une application Industry-specific Enhanced Edition for E-commerce. Une fois l'application créée, vérifiez que l'index vectoriel requis est configuré. L'exemple des étapes suivantes utilise l'analyseur Vector - General E-commerce Vector.

Dans la liste des champs d'index, vérifiez qu'un index vector existe. Il doit être balisé comme index vectoriel, inclure le champ title et utiliser l'analyseur Vector - General E-commerce Vector.

2. Créez une règle d'analyse de requête. Ajoutez la fonction de vectorisation de texte et liez-la à l'index vectoriel de l'étape 1.

Dans le volet de navigation de gauche, cliquez sur Query Analysis. Dans les paramètres d'analyse de requête, cliquez sur la règle à modifier. La boîte de dialogue Edit Rule s'ouvre. Dans la section Feature Selection, cochez la case text vectorization. À droite, définissez Vector index sur vector et cliquez sur OK.

3. Définissez les politiques de tri. Par défaut, le modèle Industry-specific Enhanced Edition for E-commerce crée deux politiques de tri : sys_first_default pour le tri brut et sys_second_default pour le tri fin.

Sur la page Sort Policies > Policy Management, vous pouvez consulter ces deux politiques de tri ainsi que leurs expressions de classement.

4. Créez une politique de recherche multimodale. Nommez la politique, configurez les chemins de recherche et définissez le classement combiné.

Dans la boîte de dialogue Configure Search Policy, définissez Search Policy Name sur sys_strategy. Dans la zone Multimodal Search Configuration, cochez les cases vector search et text search, et définissez le Recall Ratio des deux sur 50 %. Dans la zone Merge Sort Configuration, définissez merge sort sur sys_second_default, définissez Number of Sort Documents sur 500, puis cliquez sur OK.

5. Testez dans la console :

Supposons que la requête soit « search test », que la politique de recherche multimodale soit sys_strategy et que la règle d'analyse de requête soit sys_default. Accédez à la page Search Test dans la console. Dans la section Parameters, définissez les champs **search_strategy, raw_query et qp en conséquence. Remarque** : Les trois paramètres sont obligatoires, mais vous pouvez omettre le paramètre qp si vous utilisez la règle d'analyse de requête par défaut. Le format de la requête est le suivant :

query=default:'search test'&search_strategy=sys_strategy&raw_query=search test&qp=sys_default

Configuration des paramètres SDK (exemple Java) :

...
   
// Define a Config object to set parameters for the config clause, such as pagination and result format.
Config config = new Config(Lists.<String>newArrayList(appName));
config.setStart(0);
config.setHits(10);
​
// Set the result format to JSON.
config.setSearchFormat(SearchFormat.FULLJSON);
​
​
// Create a SearchParams object.
SearchParams searchParams = new SearchParams(config);
​
// Set the parameters required for the query.
HashMap<String,String> paraMap=new HashMap<String,String>();
// Set the raw_query.
paraMap.put("raw_query","search test");
// Set the multimodal search policy.
paraMap.put("search_strategy","sys_strategy");
searchParams.setCustomParam(paraMap);
​
// Set the query analysis rule.
List<String> qpName = new ArrayList<String>();
qpName.add("sys_default");  // Specify the name of the query analysis rule.
searchParams.setQueryProcessorNames(qpName);
​
...

Notes

  • La fonction de recherche multimodale est disponible uniquement pour les applications exclusives.

  • La fonction de recherche multimodale ne prend pas en charge les clauses aggregate ou distinct.

  • Vous pouvez créer un maximum de 10 politiques de recherche multimodale par application.

  • Dans la configuration de la recherche multimodale, la recherche textuelle et la recherche vectorielle sont toutes deux requises. La somme de leurs ratios de rappel doit être égale à 100 %.

  • Dans la configuration de la recherche multimodale pour la recherche textuelle et la recherche vectorielle, vous devez sélectionner une politique de tri brut et une politique de tri fin à partir de votre configuration de tri.

  • Dans la configuration du classement combiné, vous devez sélectionner une politique pour le tri de fusion. Vous pouvez sélectionner une politique fine sort ou « None ». « None » est la valeur par défaut. Le nombre de documents à trier doit être un entier compris entre 1 et 5 000.

  • Lors de la configuration de la fonction de vectorisation de texte dans l'analyse de requête, vous ne pouvez pas sélectionner un index vectoriel qui n'a pas été généré automatiquement par le système.

  • Pour utiliser un index vectoriel personnalisé avec la fonction de recherche multimodale, contactez-nous.