Tous les produits
Search
Centre de documentation

OpenSearch:Recherches populaires et suggestions de recherche

Dernière mise à jour :Sep 23, 2026

Les recherches populaires et les suggestions s'affichent à proximité de la zone de recherche et orientent les utilisateurs vers des requêtes pertinentes avant qu'ils n'aient fini de saisir leur texte. Pour les opérateurs, elles mettent en évidence les tendances d'intérêt et offrent des opportunités pour influencer le comportement de recherche grâce à une stratégie opérationnelle.

Fonctionnement

OpenSearch génère des recommandations de recherches populaires et de suggestions via un pipeline en trois étapes :

  1. Collecte — Le système extrait les requêtes de recherche des journaux historiques. Seules les requêtes soumises avec le paramètre raw_query sont comptabilisées. La valeur raw_query doit correspondre à une requête unique, non répétée, qui renvoie des résultats.

  2. Classement — Les requêtes sont classées par fréquence. L'interface de recommandation utilise par défaut les données des 14 derniers jours. Une fois les modèles créés, le système les réentraîne automatiquement chaque jour.

  3. Diffusion — Appelez l'API ou le SDK pour récupérer les recommandations classées. Par défaut, 10 recherches populaires et 3 suggestions sont renvoyées par requête.

L'interface de recommandation des recherches populaires et la liste des recherches populaires dans la console utilisent des périmètres de données différents. L'interface de recommandation couvre uniquement les 14 derniers jours et seulement les requêtes raw_query ; la liste de la console inclut les requêtes de l'index par défaut et ne filtre pas les requêtes sans résultat.

Concepts clés

Modèle de recherche populaire — Classe les requêtes par popularité et les renvoie sous forme de liste. Utilisez ce modèle pour afficher les recherches tendance à proximité de la zone de recherche.

Modèle de suggestion — Renvoie des compléments de requête au fur et à mesure que les utilisateurs saisissent leur texte. Utilisez ce modèle pour alimenter les suggestions déroulantes dans la zone de recherche.

Ces deux types de modèles sont entraînés à partir des mêmes données raw_query. Vous pouvez créer jusqu'à trois modèles de recherche populaire ou de suggestion par application.

Prérequis

Avant de commencer, assurez-vous que :

  • Les requêtes de recherche de votre application incluent le paramètre raw_query avec les requêtes réelles des utilisateurs

  • Il existe au moins quelques requêtes de recherche historiques avec des valeurs raw_query dans le système

Important

Si aucune requête de recherche historique ne contient le paramètre raw_query, l'entraînement du modèle échouera.

Créer un modèle de recherche populaire ou de suggestion

Créer un modèle dans la console

  1. Connectez-vous à la console OpenSearch. Dans le volet de navigation de gauche, accédez à Search Algorithm Center > Search Guidance, puis cliquez sur Top Searches and Hints.

  2. Cliquez sur Create.

    image

  3. Configurez les paramètres suivants :

    Paramètre Description
    Model name Un nom composé de lettres, de chiffres et de traits de soulignement (_). Le nom ne peut pas être composé uniquement de chiffres et ne doit pas dépasser 30 caractères.
    Model type Sélectionnez Top Search Model ou Hint Model.
    Filter condition (Facultatif) Restreint les requêtes de recherche historiques utilisées pour l'entraînement. Format : [parameter][operator][value]. Paramètres pris en charge : biz_type et user_id. Opérateurs pris en charge : <, >, <=, >=, =, !=. Séparez plusieurs conditions par des virgules — toutes les conditions sont appliquées avec une logique ET. Exemple : user_id=1,biz_type=1.

    image

  4. Recherchez le modèle dont le statut est Pending Training et cliquez sur Train dans la colonne Actions.

    image

  5. Une fois l'entraînement terminé, prévisualisez les résultats :

    • Aperçu des recherches populaires : Cliquez sur Preview Effects pour voir jusqu'à 10 recherches populaires recommandées par page, sur un maximum de 20 pages. image

    • Aperçu des suggestions : Cliquez sur Preview Effects pour voir jusqu'à 30 suggestions recommandées, une par page. image

Créer un modèle à l'aide de l'API ou du SDK

Lorsque vous créez un modèle via l'API, le système lance immédiatement l'entraînement du modèle dès réception de la demande de création.

Ajoutez le SDK Management and Control à votre projet :

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-opensearch</artifactId>
    <version>0.7.0</version>
</dependency>
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>4.5.0</version>
</dependency>

L'exemple suivant crée un modèle de recherche populaire. Définissez type sur "hot" pour un modèle de recherche populaire ou sur "hint" pour un modèle de suggestion.

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.FormatType;
import com.aliyuncs.http.HttpResponse;
import com.aliyuncs.opensearch.model.v20171225.*;
import com.aliyuncs.profile.DefaultProfile;

public class CreateModel {
    public static void main(String[] args) {
        DefaultProfile profile = DefaultProfile.getProfile(
            "cn-beijing",
            System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"),
            System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
        );
        IAcsClient client = new DefaultAcsClient(profile);

        CreateModelRequest request = new CreateModelRequest();
        request.setAppGroupIdentity("app_name");  // Replace with your application name

        // type: "hot" = top search model, "hint" = hint model
        // name: letters, digits, underscores only; max 30 characters
        String content = "{\"type\": \"hot\", \"name\": \"model_name\"}";
        request.setHttpContent(content.getBytes(), "UTF-8", FormatType.JSON);

        try {
            HttpResponse response = client.doAction(request);
            System.out.println(response.getHttpContentString());
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}

Récupérer les recherches populaires et les suggestions

Une fois l'entraînement terminé, appelez l'API ou le SDK pour obtenir les recommandations. Il n'existe aucune opération API pour vérifier le statut de l'entraînement — interrogez le point de terminaison des résultats pour déterminer quand les recommandations deviennent disponibles.

Ajoutez le SDK Traffic à votre projet :

<dependency>
    <groupId>com.aliyun.opensearch</groupId>
    <artifactId>aliyun-sdk-opensearch</artifactId>
    <version>3.5.0</version>
</dependency>

L'exemple suivant récupère les recherches populaires. Utilisez le même chemin d'API pour les suggestions en définissant le model_name approprié.

import java.util.HashMap;
import java.util.Map;
import com.alibaba.fastjson.JSON;
import com.aliyun.opensearch.OpenSearchClient;
import com.aliyun.opensearch.sdk.generated.OpenSearch;
import com.aliyun.opensearch.sdk.generated.commons.OpenSearchClientException;

public class Hot {
    private static final String accesskey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
    private static final String secret    = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
    private static final String host      = "<endpoint>";      // e.g., http://opensearch-cn-hangzhou.aliyuncs.com
    private static final String appName   = "<your-app-name>";

    // API path for top searches
    private static final String HOT_API_PATH = "/apps/{app_name}/actions/hot";

    public static void main(String[] args) {
        OpenSearch openSearch = new OpenSearch(accesskey, secret, host);
        OpenSearchClient client = new OpenSearchClient(openSearch);

        String requestPath = HOT_API_PATH.replace("{app_name}", appName);

        Map<String, String> params = new HashMap<>();
        params.put("model_name", "<your-model-name>");  // The model name you created
        params.put("hit", "20");  // Number of results to return (max 30 for top searches, 10 for hints)

        try {
            String response = client.call(requestPath, params, OpenSearchClient.METHOD_GET);
            System.out.println(JSON.toJSONString(response));
        } catch (OpenSearchClientException e) {
            e.printStackTrace();
        }
    }
}

Limites des valeurs de retour :

Type de modèle Résultats par défaut **Maximum (paramètre hit )**
Recherche populaire 10 30
Suggestion 3 10

Pour obtenir le classement des mots-clés populaires, appelez l'opération ListStatisticLogs.

Gérer les modèles

Liste des modèles

La page Top Searches and Hints répertorie tous les modèles avec leur nom, type, date de création, statut, heure de début du dernier entraînement et statut de la dernière version. Définissez un modèle comme modèle par défaut — lorsqu'aucun model_name n'est spécifié dans une requête, le modèle par défaut est utilisé.

image

Détails du modèle

Cliquez sur un nom de modèle pour ouvrir sa page de détails. La section Basic Information affiche le statut actuel du modèle et les horodatages d'entraînement. La section Training History répertorie chaque session d'entraînement avec sa version, son statut, son heure de début et son heure de fin.

Dépanner un entraînement ayant échoué

Sur la page de détails du modèle, placez le curseur sur Exception Report pour voir la raison de l'échec. Placez le curseur sur View Conditions for Integrity Level Upgrade pour voir les critères que le modèle doit respecter pour atteindre un niveau d'intégrité supérieur.

image

Configurer les listes noires et les listes d'autorisation

Dans la section Configuration Information, cliquez sur Configure pour configurer une liste noire ou une liste d'autorisation pour le modèle. Pour plus de détails, consultez Blacklists and whitelists.

image

Ajuster la taille de la liste des recherches populaires

Par défaut, la liste des recherches populaires affiche jusqu'à 10 000 entrées. Définissez une limite personnalisée (minimum : 100) en fonction de vos besoins métier.

Optimiser la qualité du modèle

Connecter les données comportementales des utilisateurs

Les recherches populaires et les suggestions générées à partir des journaux de recherche bruts constituent un bon point de départ, mais la connexion des données comportementales des utilisateurs améliore la qualité des recommandations au fil du temps.

Incluez les paramètres suivants dans les requêtes de recherche pour activer le suivi comportemental :

  • from_request_id — Définissez cette valeur sur le request_id renvoyé lorsqu'un utilisateur clique sur une recherche populaire ou une suggestion. Cela lie la recherche suivante à la recommandation qui l'a déclenchée.

  • user_id — Active les métriques de visiteurs uniques (UV) dans les rapports d'exploitation métier.

Fonctionnement de bout en bout :

  1. Un utilisateur voit une liste de recherches populaires renvoyée par l'API. La réponse inclut un request_id.

  2. L'utilisateur clique sur une recherche populaire, ce qui déclenche une nouvelle requête de recherche.

  3. Définissez from_request_id dans cette requête de recherche sur le request_id de l'étape 1.

  4. Si l'utilisateur parcourt les résultats page par page, définissez également from_request_id dans chaque requête de changement de page — chaque vue de page compte comme une vue de page (PV) indépendante.

Une fois ces données connectées, les rapports d'exploitation métier afficheront :

  • Les vues de page (PV) et les visiteurs uniques (UV) des recherches guidées par les recherches populaires et les suggestions

  • Le taux de résultats nuls pour les recherches guidées

  • Le taux de clics sur les recommandations

  • Les tendances d'intérêt des utilisateurs pour la planification opérationnelle

Afficher les rapports d'exploitation métier

Dans la console OpenSearch, accédez à Report Statistics pour afficher les métriques de performance.

  • Rapport des recherches populaires : Accédez à Report Statistics > Top Search Report.

    image

  • Rapport des suggestions : Accédez à Report Statistics > Hint Report.

    image

Pour une description complète des métriques des rapports, consultez Top search report et Hint report.

Limites

Limite Valeur
Modèles de recherche populaire ou de suggestion par application (cumulés) 3
Taille de la liste des recherches populaires (par défaut) 10 000 entrées
Taille de la liste des recherches populaires (minimum) 100 entrées
Fenêtre de données d'entraînement 14 derniers jours (par défaut) ; jusqu'à 6 mois
Planification de l'entraînement Quotidien (automatique)
Requêtes éligibles pour l'entraînement raw_query uniquement ; doivent renvoyer des résultats ; ne doivent pas être répétées

Étapes suivantes