Recuperamos información de Elasticsearch 2.1 y permitimos que el usuario revise los resultados. Cuando el usuario solicita un número de página alto, aparece el siguiente mensaje de error:
La ventana de resultado es demasiado grande, desde + el tamaño debe ser menor o igual a: [10000] pero era [10020]. Consulte la API de desplazamiento para obtener una forma más eficiente de solicitar grandes conjuntos de datos. Este límite se puede establecer cambiando el parámetro de nivel de índice [index.max_result_window]
El documento elástico dice que esto se debe al alto consumo de memoria y al uso de la API de desplazamiento:
Los valores más altos pueden consumir porciones significativas de memoria de pila por búsqueda y por fragmento que ejecuta la búsqueda. Es más seguro dejar este valor, ya que es un uso de la API de desplazamiento para cualquier desplazamiento profundo https://www.elastic.co/guide/en/elasticsearch/reference/2.x/breaking_21_search_changes.html#_from_size_limits
El caso es que no quiero recuperar grandes conjuntos de datos. Solo quiero recuperar una porción del conjunto de datos que está muy arriba en el conjunto de resultados. También el documento de desplazamiento dice:
El desplazamiento no está diseñado para solicitudes de usuarios en tiempo real https://www.elastic.co/guide/en/elasticsearch/reference/2.2/search-request-scroll.html
Esto me deja con algunas preguntas:
1) ¿El consumo de memoria sería realmente menor (si es así, por qué) si uso la API de desplazamiento para desplazarme hasta el resultado 10020 (y descarto todo lo que esté por debajo de 10000) en lugar de realizar una solicitud de búsqueda "normal" para el resultado 10000-10020?
2) No parece que la API de desplazamiento sea una opción para mí, pero tengo que aumentar "index.max_result_window". ¿Alguien tiene alguna experiencia con esto?
3) ¿Existen otras opciones para solucionar mi problema?
'Result window is too large, from + size must be less than or equal to: [10000] but was [47190]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level parameter.')
Dijo que tiene 4719 páginas (cada página 10 resultados). y creo que tu sugerencia funciona.