Nós recuperamos informações do Elasticsearch 2.1 e permitimos que o usuário navegue pelos resultados. Quando o usuário solicita um número alto de página, obtemos a seguinte mensagem de erro:
A janela de resultados é muito grande, o tamanho de + deve ser menor ou igual a: [10000], mas era [10020]. Consulte a API de rolagem para obter uma maneira mais eficiente de solicitar grandes conjuntos de dados. Este limite pode ser definido alterando o parâmetro de nível de índice [index.max_result_window]
O documento elástico diz que isso se deve ao alto consumo de memória e ao uso da API de rolagem:
Valores maiores que podem consumir pedaços significativos de memória heap por pesquisa e por fragmento que executa a pesquisa. É mais seguro deixar esse valor, pois é um uso da API de rolagem para qualquer rolagem profunda https://www.elastic.co/guide/en/elasticsearch/reference/2.x/breaking_21_search_changes.html#_from_size_limits
O fato é que não quero recuperar grandes conjuntos de dados. Desejo apenas recuperar uma fatia do conjunto de dados que está muito no topo do conjunto de resultados. Além disso, o documento de rolagem diz:
A rolagem não se destina a solicitações de usuários em tempo real https://www.elastic.co/guide/en/elasticsearch/reference/2.2/search-request-scroll.html
Isso me deixa com algumas perguntas:
1) O consumo de memória seria realmente menor (algum em caso afirmativo, por que) se eu usar a API de rolagem para rolar para cima até o resultado 10020 (e desconsiderar tudo abaixo de 10000) em vez de fazer uma solicitação de pesquisa "normal" para o resultado 10000-10020?
2) Não parece que a API de rolagem seja uma opção para mim, mas tenho que aumentar "index.max_result_window". Alguém tem alguma experiência com isto?
3) Existem outras opções para resolver meu 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.')
Dizia que tem 4719 páginas (a cada página 10 resultados). e acho que sua sugestão funciona.