Tous les produits
Search
Centre de documentation

OpenSearch:Batch document export - scroll method

Dernière mise à jour :Aug 10, 2026

Utilisez la méthode scroll pour exporter des documents par lots au-delà de la limite de 5 000 documents imposée par la méthode de recherche standard.

Scénarios

La recherche traditionnelle renvoie rapidement les résultats les plus pertinents, mais elle limite le nombre de documents récupérables. Par exemple, la méthode search permet de récupérer au maximum 5 000 documents. Pour récupérer un plus grand nombre de documents à des fins d'analyse, utilisez l'API scroll.

Paramètres

Paramètres de recherche :

Paramètre

Type

Obligatoire

Valeurs valides

Valeur par défaut

Description

scroll

STRING

Oui

Semaine, jour, heure, minute, seconde

Durée de validité de la prochaine requête scroll. Ce paramètre est obligatoire pour chaque requête. Par exemple, 1m correspond à 1 minute. Les unités de temps prises en charge sont : w (semaine), d (jour), h (heure), m (minute) et s (seconde).

search_type

STRING

Oui

scan

Obligatoire pour la première requête. Pour les requêtes suivantes, spécifiez le scroll_id afin d'exécuter la requête suivante.

scroll_id

string

Oui

Le premier appel scroll renvoie un scroll_id sans données. Chaque recherche ultérieure doit inclure le scroll_id issu de la réponse précédente. Les résultats suivants renvoient un nouveau scroll_id ainsi que les données correspondantes.

fetch_fields

string

Spécifie les champs applicatifs à récupérer.

Paramètres de réponse :

Paramètre

Type

Description

status

string

Résultat de l'exécution. OK indique un succès. FAIL indique un échec. Dépannez en fonction du code d'erreur renvoyé.

request_id

string

ID d'enregistrement de la requête, utilisé principalement pour le dépannage.

result

string

Résultat de la requête, comprenant le temps de requête (searchtime), le nombre total de résultats (total), le nombre de résultats dans la réponse actuelle (num), le nombre maximal de résultats pour la requête (viewtotal), les éléments de résultat (items), les statistiques de facette (facet) et le scroll_id.

errors

string

Détails de l'erreur. error_message contient les informations d'erreur. Pour connaître la signification d'un error_code, consultez les Codes d'erreur.

Remarque

La réponse scroll prend actuellement en charge uniquement les formats fulljson et json.

Résultats

Réponse à la première requête :

{
    "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": ""
}

Réponse à une requête suivante :

{
    "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": "1381111****",
                    "index_name": "app_schema_demo"
                },
                "property": {},
                "attribute": {},
                "variableValue": {},
                "sortExprValues": [
                    "1"
                ]
            }
        ],
        "facet": []
    },
    "errors": [],
    "tracer": ""
}

Notes

  • La clause sort prend uniquement en charge les champs uniques de type INT. Cela s'applique uniquement à l'API v3 et au kit de développement logiciel (SDK).

  • La fonctionnalité scroll permet uniquement d'exporter toutes les données. Elle ne prend pas en charge les clauses Aggregate ou Distinct, les expressions de tri grossier ou fin, ni l'analyse de requête.

  • Le paramètre start de la clause config n'a aucun effet dans une requête scroll. La valeur par défaut est 0, ce qui signifie que la pagination n'est pas prise en charge. La valeur de hits doit se situer dans la plage [0, 500].

  • Une requête scroll utilise la valeur hits de la première requête, c'est-à-dire celle qui renvoie le scroll_id. Les modifications de la valeur hits dans les requêtes suivantes ne sont pas prises en compte.

  • La première requête renvoie uniquement un scroll_id sans données de document. La deuxième requête, qui inclut le scroll_id, renvoie les données.

  • Pour identifier les erreurs de recherche, vérifiez les champs code et message pour détecter les exceptions. Ne vous fiez pas au champ status. Pour plus d'informations, consultez les Codes d'erreur.

  • Si l'erreur Scroll_id is expired est renvoyée, cela signifie que la requête scroll a expiré. Ajustez le paramètre scroll pour prolonger la durée de validité.

Exemples SDK

Remarque

1. Le paramètre start de la clause config n'a aucun effet. Utilisez plutôt la valeur hits pour définir le nombre de documents à récupérer pour chaque requête.

2. Les fonctionnalités telles que aggregate, distinct et les expressions de tri grossier et fin ne sont pas prises en charge. La clause sort prend uniquement en charge le tri par un champ unique de type INT.

3. Les requêtes scroll sur plusieurs applications ne sont pas prises en charge.

4. Si vous transmettez un scroll_id non valide, la requête renvoie une erreur.

5. Les formats pris en charge pour les résultats de récupération sont fulljson et json.

6. La première requête renvoie uniquement un scroll_id sans données de document. Pour récupérer les données, effectuez une deuxième requête en incluant le scroll_id de la première réponse.

Exemples Java :

Démonstration de requête scroll simple

Démonstration de requête scroll itérative

Exemples PHP :

Démonstration de recherche scroll

API d'opération d'application :

Traitement de la recherche