Прокрутка Elasticsearch при использовании простого метода HTTP POST в консольной программе C # - PullRequest
0 голосов
/ 25 октября 2018

У меня есть консольная программа на C #, которая извлекает большой объем данных в необработанном формате JSON.Это хорошо работает с использованием этого кода:

using (WebClient client = new WebClient())
{
    client.Encoding = Encoding.UTF8;
    client.Headers["Content-Type"] = "application/json";
    client.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(credentials));
    string myDataResult = client.UploadString(url, "POST", myQuery);

    <result handling code>
}

На данный момент нет максимального размера, но в скором времени будет ограничение 3000. Это означает, что я должен использовать прокрутку, чтобы получить все данныеЯ нуждаюсь.Я читал о NEST, но я надеюсь избежать этого.Мне просто нужен необработанный вывод JSON моего запроса, который я произвожу.Какие-нибудь простые способы расширить мой код, чтобы он использовал прокрутку?

С уважением, Брайан

1 Ответ

0 голосов
/ 25 октября 2018

Вам нужно будет указать и указать в запросе, какую страницу вы запрашиваете, и лимит (количество возвращаемых вами элементов).

Я бы взглянул на документы по ElasticSearch API дляпримеры того, как будет выглядеть тело запроса.https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html

Если исходить из этого, похоже, что "from" будет запрашиваемой страницей, "size" будет лимитом или количеством элементов, которые вы хотите.

...