Изменить ElasticSearch track_total_hits в NEST - PullRequest
1 голос
/ 14 января 2020

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

GET twitter/_search
{
    "track_total_hits": 100,
     "query": {
        "match" : {
            "message" : "Elasticsearch"
        }
     }
}

Проблема в том, что я пытаюсь сделать то же самое в NEST, но мне не удается его воспроизвести. Единственное подобное, что я нашел, принимает только логическое значение, а не число. Можно ли изменить сумму через NEST?

Вот код моей попытки:

var results = elasticClient.Search<MyClass>(s => s
             .Query(q => q.QueryString(q2 => q2.Query(readLine)
             .Fields(f => f.Field(p => p.MyField)))).TrackTotalHits(true));

1 Ответ

1 голос
/ 18 января 2020

Как указано @russcam здесь , на данный момент вы можете сделать это путем приведения ISearchRequest к IRequest<SearchRequestParameters>:

var client = new ElasticClient();

var searchResponse = client.Search<Document>(s =>
{
    IRequest<SearchRequestParameters> request = s;
    request.RequestParameters.SetQueryString("track_total_hits", 1000);

    return s;
});

. Он будет применяться как параметр строки запроса * 1008. *

...