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, |
|
|
search_type |
STRING |
Sí |
scan |
Obligatorio en la primera consulta. En consultas posteriores, especifique el |
|
|
scroll_id |
string |
Sí |
La primera llamada a scroll devuelve un |
||
|
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. |
|
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 ( |
|
errors |
string |
Detalles del error. |
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
sortsolo 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
starten la cláusulaconfigno tiene efecto en una consulta scroll. El valor predeterminado es 0, por lo que no se admite la paginación. El valor dehitsdebe estar en el rango de [0, 500].Una consulta scroll utiliza el valor de
hitsde la primera consulta, que es la que devuelve elscroll_id. Los cambios en el valor dehitsen consultas posteriores no surten efecto.La primera consulta solo devuelve un
scroll_idy ningún dato de documento. La segunda consulta, que incluye elscroll_id, devuelve los datos.Para identificar errores de búsqueda, compruebe si hay excepciones en los campos
codeymessage. No confíe en el campostatus. 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ámetroscrollpara ampliar el periodo de validez.
Ejemplos de SDK
El parámetro
starten la cláusulaconfigno tiene efecto. En su lugar, utilice el valor dehitspara establecer la cantidad de documentos por recuperar en cada solicitud.Funciones como
aggregate,distincty expresiones de ordenamiento grueso y fino no son compatibles. La cláusulasortsolo permite ordenar por un único campo de tipo INT.No se admiten consultas scroll en varias aplicaciones.
Si pasa un
scroll_idno válido, la consulta devolverá un error.Los formatos admitidos para los resultados de recuperación son fulljson y json.
La primera consulta solo devuelve un
scroll_idy ningún dato de documento. Para recuperar datos, ejecute una segunda consulta e incluya elscroll_idde la primera respuesta.
Ejemplos en Java:
Ejemplos en PHP:
API de operación de aplicaciones: