Как прокрутить результаты эластичного запроса, python - PullRequest
0 голосов
/ 03 мая 2019

Я запрашиваю свой сервер эластичного поиска и ограничиваю его до 100 результатов, но может быть более 5000 результатов, но для скорости я не хочу перегружать соединение пользователей, пытаясь отправить все это оптом.

data = es.search(index=case_to_view, size=100,body={
   "query": {
       "range" : {
           "someRandomFIeld" : {
               "gte" : 1,
           }
       }
   }
})

Это делает две вещи, получая результаты, которые имеют тип поля, и получая результаты, только если этот тип поля существует, если его значение больше, чем равно 1.

data['hits']['total'] # 5089

Как разрешить пользователю получать следующую партию результатов по тому же запросу, т.е. Следующие 100, предыдущие 100 и т. Д.

1 Ответ

2 голосов
/ 03 мая 2019

Вы захотите использовать свойства from и size.

Вы можете увидеть это здесь в документации 7.0.

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-from-size.html

например:

{
    "from" : 0, "size" : 10,
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...