Tous les produits
Search
Centre de documentation

OpenSearch:Traitement de la recherche

Dernière mise à jour :Aug 21, 2026

Le système propose une syntaxe de recherche riche pour répondre aux besoins de recherche dans divers scénarios.

URL

/v3/openapi/apps/$app_name/search?fetch_fields=name&query=config=format:fulljson&&query=name:'zhangsan'&&sort=id

  • $app_name : nom de l'application. Les éditions Premium et Standard sont des versions multi-applications. Vous devez spécifier un nom d'application pour accéder à une application en service.

  • L'URL précédente omet les en-têtes de requête, l'encodage et d'autres facteurs.

  • L'URL précédente omet l'adresse hôte permettant d'accéder à l'application.

  • Pour les définitions, l'utilisation et les exemples des paramètres de requête dans l'URL précédente, consultez la section Paramètres de requête ci-dessous.

Protocole de requête

HTTP

Méthode de requête

GET

Format pris en charge

JSON

Paramètres de requête

Pour plus de détails sur la concaténation des paramètres de requête, consultez le document Mécanisme de signature de l'API v3.

Paramètre

Type

Obligatoire

Valeurs valides

Valeur par défaut

Description

query

string

Oui

Corps principal de la recherche. Ce paramètre ne peut pas être vide. Il prend en charge des clauses telles que config, query, sort, filter, aggregate, distinct et kvpair.

fetch_fields

string

Non

Tous les champs affichables.

Spécifie les champs à renvoyer dans les résultats de la requête. Séparez plusieurs champs par des points-virgules (;). Cela correspond à la fonctionnalité de champ d'affichage par défaut dans la console.

disable

string

Non

Désactive les fonctionnalités de paramètres spécifiées qui sont actives.

first_rank_name

string

Non

Nom de l'expression de tri approximatif par défaut dans le système.

Définit le nom de la fonction de tri approximatif. Un seul nom de tri approximatif est pris en charge.

second_rank_name

string

Non

Nom de l'expression de tri par défaut pour le service

Définit le nom de la fonction de tri fin. Un seul nom de tri fin est pris en charge.

user_id

string

Non

Identifie l'utilisateur final qui a initié la demande de recherche actuelle. Ce paramètre peut être défini sur l'une des valeurs suivantes, classées par ordre de priorité décroissant : 1. L'ID de connexion à long terme de l'utilisateur final. 2. L'IMEI de l'appareil mobile de l'utilisateur final.

re_search

string

Non

Définit la politique de re-recherche. Actuellement, vous ne pouvez définir qu'une politique basée sur le seuil total de correspondances.

biz

string

Non

Décrit les informations commerciales liées à la demande, telles que le type d'activité à l'origine de la demande.

summary

string

Non

Obtient la configuration du résumé des résultats de recherche du système.

Configure le résumé des résultats de recherche. Vous pouvez spécifier des champs pour la mise en surbrillance, la troncature et d'autres opérations.

clause de requête

string

Oui

Définit les conditions de recherche.

clause de configuration

string

Non

Définit le format des données et le nombre de documents à renvoyer.

clause de filtre

string

Non

Définit les conditions de filtrage.

clause de tri

string

Non

Définit les conditions de tri des documents. Seul le tri par un champ unique de type int est pris en charge. Cette limitation s'applique à l'API v3 et aux SDK.

Utilisation des paramètres de requête

  • query : Le paramètre query peut combiner plusieurs clauses pour répondre à divers besoins de recherche. Les clauses au sein du paramètre query sont connectées par &&.

  • fetch_fields : La taille des données textuelles renvoyées a un impact significatif sur les performances. Récupérez uniquement les champs requis. Si ce paramètre est configuré dans le SDK ou l'API, il remplace la configuration correspondante dans la console.

  • qp : Si ce paramètre est configuré dans le SDK ou l'API, il remplace la configuration correspondante dans la console.

Remarque : Vous pouvez consulter les effets et les résultats de qp sur la page de test de recherche dans la console. L'API et les SDK n'exposent pas actuellement ces informations.

  • disable : Utilisez ce paramètre pour désactiver des fonctionnalités pour des paramètres tels que qp, summary, first_rank, second_rank et re_search.

    Description de la fonctionnalité

    • Ce paramètre contrôle la désactivation de certaines fonctionnalités lors d'une requête.

    • Vous pouvez désactiver des fonctionnalités telles que l'analyse de requête, la mise en surbrillance, le tri approximatif et fin, ainsi que la re-recherche.

    Format du paramètre :

    disable=function[;function]
    function=function_name[:function_param]
    • Exemples :

      • Pour désactiver l'analyse de requête, définissez disable=qp.

      • Pour désactiver la fonctionnalité spell_check dans l'analyse de requête, définissez disable=qp:spell_check.

      • Pour désactiver la re-recherche, définissez disable=re_search.

  • first_rank_name : Si ce paramètre est configuré dans le SDK ou l'API, il remplace la configuration correspondante dans la console.

  • second_rank_name : Si ce paramètre est configuré dans le SDK ou l'API, il remplace la configuration correspondante dans la console.

  • user_id :

    • Lorsque vous définissez ce paramètre dans une demande de recherche, la valeur de user_id doit être encodée en URL.

  • raw_query :

    Description de la fonctionnalité

    • Ce paramètre spécifie la requête de recherche originale saisie par l'utilisateur final.

    Format du paramètre :

    raw_query=content
    • content : la requête de recherche originale.

  • re_search :

    Description de la fonctionnalité

    • Ce paramètre définit la politique de re-recherche. Actuellement, vous ne pouvez définir qu'une politique basée sur le seuil total de correspondances.

    Format du paramètre :

    re_search=strategy:threshold,params:total_hits#${COUNT}
    • COUNT : la limite supérieure pour total_hits qui déclenche une re-recherche. Une re-recherche est effectuée si total_hits est inférieur à COUNT.

    • Exemple :

      • re_search=url_encode(strategy:threshold,params:total_hits#6)

  • biz :

    Description de la fonctionnalité

    • Ce paramètre décrit les informations commerciales liées à la demande, telles que le type d'activité à l'origine de la demande.

      Format du paramètre :

      biz=type:$TYPE
    • type : le type de trafic. Vous pouvez définir la valeur. Vous pourrez ensuite utiliser cette valeur pour distinguer différentes sources de trafic dans les rapports.

    • Exemple :

      • biz=type:home_page

  • vector_threshold :

  • Description de la fonctionnalité

    • Ce paramètre définit le seuil de score vectoriel pour la récupération des documents lors d'une recherche vectorielle. Seuls les documents dont le score vectoriel est inférieur à cette valeur sont renvoyés.

  • Format du paramètre :

      vector_threshold=14.0
    • La valeur est un nombre à virgule flottante.

    • Ce paramètre est facultatif. S'il n'est pas défini, le système utilise un seuil intégré.

  • Résumé :

    • Les paramètres summary_element_prefix et summary_element_postfix doivent être définis simultanément.

    • Le paramètre summary_element et la paire (summary_element_prefix, summary_element_postfix) s'influencent mutuellement. Une configuration ultérieure écrase une configuration antérieure.

    • Il n'est actuellement pas possible de configurer séparément le résumé et la mise en surbrillance.

    • Si ce paramètre est configuré dans le SDK ou l'API, il écrase la configuration correspondante dans la console.

Paramètre

Type

Obligatoire

Valeurs valides

Valeur par défaut

Description

summary_field

string

Oui

Champ à résumer.

summary_element

string

Non

em

Une balise de mise en surbrillance est une balise HTML sans ses chevrons.

summary_ellipsis

string

Non

…

Points de suspension à la fin du résumé.

summary_snipped

int

Non

1

Nombre d'extraits de résumé à sélectionner.

summary_len

string

Non

Longueur de l'extrait de résumé à afficher.

summary_element_prefix

string

Non

Préfixe pour la mise en surbrillance. Il doit s'agir d'une balise HTML complète, telle que <em>.

summary_element_postfix

string

Non

Suffixe pour la mise en surbrillance. Il doit s'agir d'une balise HTML complète, telle que </em>.

Résultat de retour

Paramètre

Type

Description

status

string

Résultat de l'exécution. OK indique un succès. FAIL indique un échec. En cas d'échec de la requête, résolvez le problème en vous basant sur le code d'erreur renvoyé.

request_id

string

ID de l'enregistrement de requête. Principalement utilisé pour le dépannage.

result

JSON

Résultat réel. Il inclut des informations telles que le temps de requête (searchtime), le nombre total de résultats provenant du moteur (total), le nombre de résultats renvoyés pour la requête actuelle (num), le nombre maximal de résultats pouvant être renvoyés pour la requête (viewtotal), les résultats de la requête (items) et les résultats statistiques (facet).

errors

list

Code d'erreur et message. message représente le message d'erreur. Pour la signification de code, consultez la documentation Description des codes d'erreur.

  • searchtime : Temps, en secondes, consommé par le moteur pour traiter la requête.

  • Différences entre total, viewtotal et num : total correspond au nombre de résultats répondant aux conditions de requête dans le moteur, sans prendre en compte la clause config. Cette valeur est une estimation lorsqu'il y a beaucoup de résultats et est généralement utilisée à des fins d'affichage. viewtotal représente le nombre maximal de résultats que le moteur renvoie pour des raisons de performances et de pertinence. Pour paginer les résultats, start + hit doit être inférieur à viewtotal. num est le nombre réel d'éléments renvoyés pour la requête actuelle. Cette valeur est limitée par les paramètres start et hit de la clause config et ne dépasse pas la valeur hit.

  • compute_cost : Tableau contenant un seul élément de type map. index_name est l'ID de l'application et value est le nombre d'unités de calcul logique (LCU) consommées par la requête.

  • items : Contient les données récupérées. Le paramètre fields contient le contenu des résultats de recherche.

  • variableValue : Résultat de retour d'un paramètre personnalisé, tel qu'une valeur de distance. Le nœud variableValue s'affiche uniquement si le paramètre format de la clause config est défini sur xml ou fulljson. Par défaut, ce nœud ne s'affiche pas au format json.

  • sortExprValues : Score de tri du document correspondant.

  • facet : Stocke les informations renvoyées par la clause Aggregate.

  • Type de champ tableau : Si un champ tableau est renvoyé au format json ou fulljson, les données sont séparées par \t. Si elles sont renvoyées au format xml, les données sont séparées par des espaces.

Exemple de recherche

Réponse JSON

{
 "result": {
  "searchtime": 0.009554,
  "total": 1,
  "compute_cost": [
   {
    "index_name": "110247758",
    "value": 0.304
   }
  ],
  "num": 1,
  "viewtotal": 1,
  "items": [
   {
    "variableValue": {

    },
    "sortExprValues": [
     "10000"
    ],
    "property": {

    },
    "attribute": {

    },
    "fields": {
     "size": "XL",
     "discount_price": "9.9",
     "pid": "950",
     "range_age": "18\t25",
     "detail": "Men's jacket lapel 2021 spring and autumn new youth thin top casual zipper jacket",
     "index_name": "110247758"
    }
   }
  ],
  "facet": []
 },
 "ops_request_misc": "%7B%22request%5Fid%22%3A%22162642700916781929257960%22%2C%22scm%22%3A%2220140713.110229359..%22%7D",
 "tracer": "",
 "request_id": "162642700916781929257960",
 "errors": [],
 "status": "OK"
}

Réponse d'erreur

{
 "result": {
  "searchtime": 0.003999,
  "total": 0,
  "compute_cost": [
   {
    "index_name": "110247758",
    "value": 0.232
   }
  ],
  "num": 0,
  "viewtotal": 0,
  "items": [],
  "facet": []
 },
 "ops_request_misc": "%7B%22request%5Fid%22%3A%22162642716516781913069826%22%2C%22scm%22%3A%2220140713.110229359..%22%7D",
 "tracer": "",
 "request_id": "162642716516781913069826",
 "errors": [
  {
   "code": 6127,
   "message": "Attribute not exist."
  }
 ],
 "status": "FAIL"
}
  • Remarque : Un statut FAIL indique qu'une erreur s'est produite et qu'aucun résultat n'est renvoyé. Toutefois, dans certains cas, une erreur et des résultats peuvent être renvoyés simultanément. Dans ces situations, le statut est OK. Par exemple, si une erreur 1000 server error (délai d'attente de recherche dépassé) ou une erreur 2112 (index pour le tri fin non spécifié) se produit, des résultats peuvent tout de même être renvoyés.

Analyse par défilement (Scroll scan)

Une recherche traditionnelle est conçue pour récupérer les résultats les plus pertinents dans les plus brefs délais. Par conséquent, le nombre de résultats de recherche est limité. Par exemple, la méthode de recherche peut récupérer un maximum de 5 000 documents. Dans certains scénarios, vous pouvez avoir besoin de récupérer davantage de résultats à des fins d'analyse. Vous pouvez utiliser l'API scroll pour récupérer un plus grand nombre de résultats.

Clauses prises en charge

  • Clause query.

  • Clause config. Le paramètre start n'est pas valide dans cette clause.

  • Clause filter.

  • Clause sort. Cette clause prend uniquement en charge le tri par un seul champ de type int et est limitée à l'API v3 et aux SDK.

URL

Requête initiale

/v3/openapi/apps/$app_name/search?search_type=scan&scroll=1m&query_parameters

Requêtes suivantes

/v3/openapi/apps/$app_name/search?scroll_id=$scroll_id&scroll=1m&query_parameters

  • $app_name : Nom de l'application.

  • L'URL ci-dessus omet l'adresse hôte pour accéder à l'application.

  • Les URL de requête de défilement ci-dessus omettent les en-têtes de requête, le contenu des paramètres de requête, l'encodage et d'autres facteurs. Pour une URL de requête de défilement complète, consultez l'exemple ci-dessous.

  • La méthode de défilement offre des fonctionnalités limitées et ne prend pas en charge la plupart des fonctionnalités. Pour plus d'informations sur les limitations spécifiques, consultez les notes en bas de page.

Protocole de requête

HTTP

Méthode de requête HTTP

GET

Format pris en charge

JSON

Paramètres de requête

Paramètre

Type

Obligatoire

Valeurs valides

Valeur par défaut

Description

scroll

STRING

Oui

Week, Day, Hour, minute, second

Spécifiez la durée de validité pour la prochaine requête scroll. Vous devez définir ce paramètre pour chaque requête. Par exemple, 1m indique 1 minute. Les unités de temps prises en charge incluent : w pour Week, d pour Day, h pour Hour, m pour minute et s pour second.

search_type

STRING

Oui

scan

Ce paramètre est requis pour la première requête. Il n'est pas nécessaire pour les requêtes suivantes. Les requêtes ultérieures sont effectuées en spécifiant le scroll_id.

scroll_id

string

Oui

Le premier appel à la méthode scroll renvoie un scroll_id mais n'inclut pas de données. Pour chaque recherche suivante, vous devez spécifier le scroll_id issu de la réponse précédente. Les résultats de recherche suivants incluront à la fois un nouveau scroll_id et les données correspondantes. Ce paramètre est obligatoire pour toutes les requêtes suivantes.

query clause

string

Oui

Définit les conditions de recherche.

config clause

string

Oui

Définit le format des données et le nombre de documents à renvoyer.

filter clause

string

Non

Définit les conditions de filtrage.

sort clause

string

Non

Définit les conditions de tri des documents. Seul le tri par un champ unique de type int est pris en charge. Cette limitation s'applique aux API v3 et aux SDK.

fetch_fields parameter

string

Non

Spécifiez les champs d'application à renvoyer.

Résultat de retour

Paramètre

Type

Description

status

string

Résultat de l'exécution. OK indique un succès. FAIL indique un échec. En cas d'échec de la requête, résolvez le problème en vous basant sur le code d'erreur renvoyé.

request_id

string

ID de l'enregistrement de requête. Principalement utilisé pour le dépannage.

result

string

Résultat réel. Il comprend des informations telles que le temps de requête (searchtime), le nombre total de résultats provenant du moteur (total), le nombre de résultats renvoyés pour la requête actuelle (num), le nombre maximal de résultats pouvant être renvoyés pour la requête (viewtotal), les résultats de la requête (items), les résultats statistiques (facet) et le scroll_id.

errors

string

Contenu de l'erreur. error_message représente le message d'erreur. Pour plus d'informations sur la signification de error_code, consultez la documentation Codes d'erreur.

Remarque

L'API scroll prend actuellement en charge uniquement les formats de réponse fulljson et json.

Exemple de scroll

Remarque

Dans la clause config, le paramètre start est invalide. Utilisez le paramètre hit pour définir le nombre de documents à récupérer par lot. Les fonctionnalités telles que aggregate, distinct et les expressions de tri brut et fin sont invalides. La clause sort ne prend en charge que le tri par un champ unique de type int. Les requêtes scroll sur plusieurs applications ne sont pas prises en charge. Si vous fournissez un scroll_id invalide, une erreur est signalée. Les formats de réponse pris en charge sont fulljson et json. La première requête renvoie uniquement un scroll_id et aucune donnée de document. Vous devez effectuer une autre requête et fournir le scroll_id de la réponse précédente pour récupérer les données.

Première requête

Remarque

Cet exemple omet les en-têtes de requête, l'encodage et d'autres facteurs.

http://$host/v3/openapi/apps/app_schema_demo/search?query=config=start:0,hit:1,format:fulljson,rerank_size:200&&query=name:'search'&&sort=+id&&filter=id>0&search_type=scan&scroll=1m&fetch_fields=id;name;phone;int_arr;literal_arr;float_arr;cate_id

Réponse réussie

{
  "status": "OK",
  "request_id": "150150574119953661605242",
  "result": {
    "searchtime": 0.005029,
    "total": 1,
    "num": 0,
    "viewtotal": 1,
    "scroll_id": "eJxtUMtuhDAM/BrvOYQC5cABdulvRFFIirsm2TpBavv1Ndut1EMlS36NZ0Y2ZHMxbueceAjIuWCMnrPjRITLyfzZm83y9V QVGT8x80U3PxQNUqieVZV1/an4ItbTUBPSx5wgXqKdvOSbmuKR8ZYjGWWirB4tvToAiX7u3G2eCNK77vnz8GlGPAV6suKBeqxAn0OiTd7NGEnesspyoyFLF6hecn4JUKjVgp0K3FnkfMfIyPoDuYWegX9GeYOpicY9TG8gwOSuBL04X1 MMg3ROwCesLlG6X7a2o=",
    "items": [],
    "facet": []
  },
  "errors": [],
  "tracer": ""
}

Requêtes suivantes

Remarque

Cet exemple omet des détails tels que les en-têtes de requête et l'encodage.

http://$host/v3/openapi/apps/app_schema_demo/search?fetch_fields=id;name;phone;int_arr;literal_arr;float_arr;cate_id&query=config=start:0,hit:1,format:fulljson,rerank_size:200&&query=name:'search'&&sort=+id&&filter=id>0&scroll=1m&scroll_id=eJxtUMtuhDAM/BrvOYQC5cABdulvRFFIirsm2TpBavv1Ndut1EMlS36NZ0Y2ZHMxbueceAjIuWCMnrPjRITLyfzZm83y9V+QVGT8x80U3PxQNUqieVZV1/an4ItbTUBPSx5wgXqKdvOSbmuKR8ZYjGWWirB4tvToAiX7u3G2eCNK77vnz8GlGPAV6suKBeqxAn0OiTd7NGEnesspyoyFLF6hecn4JUKjVgp0K3FnkfMfIyPoDuYWegX9GeYOpicY9TG8gwOSuBL04X1+MMg3ROwCesLlG6X7a2o=

Valeur de retour

{
  "status": "OK",
  "request_id": "150150574119952551519970",
  "result": {
    "searchtime": 0.006293,
    "total": 1,
    "num": 1,
    "viewtotal": 1,
    "scroll_id": "eJxNT9tugzAM/RrznIRC4YEHaNlvRFFIhteQtE6Qtn39TNdJk2z5dnx8rIPJRdudcqKhl60Uir2Vp06ISv8b6s3QbZCVzpaCdp93XXBzg2wEW9MJ2dWq8q7YVXt0YckDLlBP0WyOw31N8YgYizZEnAUsjkx4VT4k8zexpjiNS/XYHX0NNkWP71BfVyxQjxLUxSfazFH4PYSPnCL3iMniDZq3jN98aFRCgGrZniy8/itkBHWGuYVeQH+B+QzTCUZ1NJ9gj4FVMfrQPr8Y+Hk+dgU14fIDVhtfTw==",
    "items": [
      {
        "fields": {
          "cate_id": "0",
          "float_arr": "0",
          "id": "1",
          "int_arr": "0",
          "literal_arr": "search",
          "name": "search",
          "phone": "123****5678",
          "index_name": "app_schema_demo"
        },
        "property": {},
        "attribute": {},
        "variableValue": {},
        "sortExprValues": [
          "1"
        ]
      }
    ],
    "facet": []
  },
  "errors": [],
  "tracer": ""
}