Todos los productos
Search
Centro de documentos

OpenSearch:Exportación masiva de documentos: método scroll

Última actualización: Sep 04, 2026

Utilice el método scroll para exportar documentos en lotes que superen el límite de 5,000 documentos del método de búsqueda estándar.

Escenarios

La búsqueda tradicional devuelve rápidamente los resultados más relevantes, pero limita la cantidad de documentos recuperables. Por ejemplo, el método search recupera un máximo de 5,000 documentos. Para obtener una mayor cantidad de documentos para análisis, utilice la API scroll.

Parámetros

Parámetros de búsqueda:

Parámetro

Tipo

Obligatorio

Valores válidos

Valor predeterminado

Descripción

scroll

STRING

Sí

Week, day, hour, minute, second

Periodo de validez de la siguiente solicitud scroll. Debe establecerse en cada solicitud. Por ejemplo, 1m indica 1 minuto. Las unidades de tiempo compatibles son: w para semana, d para día, h para hora, m para minuto y s para segundo.

search_type

STRING

Sí

scan

Obligatorio en la primera consulta. En consultas posteriores, especifique el scroll_id para ejecutar la siguiente consulta.

scroll_id

string

Sí

La primera llamada a scroll devuelve un scroll_id, pero no datos. Cada búsqueda posterior debe incluir el scroll_id de la respuesta anterior. Los resultados subsiguientes devuelven un nuevo scroll_id junto con los datos coincidentes.

fetch_fields

string

Especifica los campos de la aplicación por recuperar.

Parámetros de respuesta:

Parámetro

Tipo

Descripción

status

string

Resultado de la ejecución. OK indica éxito; FAIL indica error. Solucione el problema según el código de error devuelto.

request_id

string

ID del registro de consulta. Se usa principalmente para solucionar problemas.

result

string

Resultado de la consulta. Incluye el tiempo de consulta (searchtime), el número total de resultados (total), la cantidad de resultados en la respuesta actual (num), el número máximo de resultados de la consulta (viewtotal), los elementos del resultado (items), las estadísticas de facetas (facet) y el scroll_id.

errors

string

Detalles del error. error_message contiene la información del error. Para conocer el significado de un error_code, consulte Error codes.

Nota

Actualmente, la respuesta de scroll solo admite los formatos fulljson y json.

Resultados

Respuesta a la primera solicitud:

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

Respuesta a una solicitud posterior:

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

Notas

  • La cláusula sort solo admite campos individuales de tipo INT. Esto aplica únicamente a la API v3 y al kit de desarrollo de software (SDK).

  • La función scroll solo permite exportar todos los datos. No es compatible con cláusulas Aggregate o Distinct, expresiones de ordenamiento grueso o fino, ni análisis de consultas.

  • El parámetro start en la cláusula config no tiene efecto en una consulta scroll. El valor predeterminado es 0, por lo que no se admite la paginación. El valor de hits debe estar en el rango de [0, 500].

  • Una consulta scroll utiliza el valor de hits de la primera consulta, que es la que devuelve el scroll_id. Los cambios en el valor de hits en consultas posteriores no surten efecto.

  • La primera consulta solo devuelve un scroll_id y ningún dato de documento. La segunda consulta, que incluye el scroll_id, devuelve los datos.

  • Para identificar errores de búsqueda, compruebe si hay excepciones en los campos code y message. No confíe en el campo status. Para obtener más información, consulte Error codes.

  • Si se devuelve el error Scroll_id is expired, la solicitud scroll ha caducado. Ajuste el parámetro scroll para ampliar el periodo de validez.

Ejemplos de SDK

Nota
  1. El parámetro start en la cláusula config no tiene efecto. En su lugar, utilice el valor de hits para establecer la cantidad de documentos por recuperar en cada solicitud.

  2. Funciones como aggregate, distinct y expresiones de ordenamiento grueso y fino no son compatibles. La cláusula sort solo permite ordenar por un único campo de tipo INT.

  3. No se admiten consultas scroll en varias aplicaciones.

  4. Si pasa un scroll_id no válido, la consulta devolverá un error.

  5. Los formatos admitidos para los resultados de recuperación son fulljson y json.

  6. La primera consulta solo devuelve un scroll_id y ningún dato de documento. Para recuperar datos, ejecute una segunda consulta e incluya el scroll_id de la primera respuesta.

Ejemplos en Java:

Simple scroll query demo

Iterative scroll query demo

Ejemplos en PHP:

Scroll search demo

API de operación de aplicaciones:

Search processing