Ответ Elasticsearch за истекший контекст прокрутки - PullRequest
0 голосов
/ 04 февраля 2019

При использовании API прокрутки Elasticsearch для получения результатов запроса, которые имеют много совпадений, вы должны указать scroll время ожидания.Elasticsearch не гарантирует сохранение контекста прокрутки после истечения этого времени ожидания (свитки обрабатываются как своего рода «сеанс», который Elasticsearch запоминает).

Но что произойдет, если вы попросите Elasticsearch другую «страницу» по истечении этого времени ?Какой ответ вы получаете от Elasticsearch?Имеет ли он отличительный код состояния HTTP?Или отличительные поля в теле ответа JSON?

1 Ответ

0 голосов
/ 25 апреля 2019

Код состояния ответа 404. Вы также получаете сообщение об ошибке, объясняющее, что произошло.

{
    "error": {
        "caused_by": {
            "reason": "No search context found for id [35544152]",
            "type": "search_context_missing_exception"
        },
        "failed_shards": [
            {
                "index": null,
                "reason": {
                    "reason": "No search context found for id [35544152]",
                    "type": "search_context_missing_exception"
                },
                "shard": -1
            }
        ],
        "grouped": true,
        "phase": "query",
        "reason": "all shards failed",
        "root_cause": [
            {
                "reason": "No search context found for id [35544152]",
                "type": "search_context_missing_exception"
            }
        ],
        "type": "search_phase_execution_exception"
    },
    "status": 404
}
...