Синтаксис запросов MultiSearch с использованием NEST API Elasticsearch - PullRequest
0 голосов
/ 14 апреля 2020

Кто-нибудь знает синтаксис использования MultiSearch с использованием библиотеки NEST версии 7.6.

Мы попробовали:

var result = client.MultiSearch(ms => ms
    .Search<ElasticsearchProject>("projects", s => s.MatchAll())
    .Search<Person>("people", s => s.MatchAll())
);

Кажется, это больше не действует в версии 7.6

Ответы [ 2 ]

1 голос
/ 15 апреля 2020

MultiSearch ожидает Indices в качестве первого параметра, хотя это необязательный параметр. Чтобы передать только делегат, пометьте параметр

var result = client.MultiSearch(selector: ms => ms
    .Search<ElasticsearchProject>("projects", s => s.MatchAll())
    .Search<Person>("people", s => s.MatchAll())
);
1 голос
/ 14 апреля 2020
var d = new MultiSearchDescriptor();
            d.Search<ElasticsearchProject>("projects", s => s
                             .Index("<indexname>")
                               .Query(q => q
                                       .MatchAll()
                                     )
                             .From(1)
                             .Size(10)
                           );
            d.Search<Person>("people", s => s
                           .Index("<indexname>")
                           .Query(q => q
                           .MatchAll()
                               )
                           .From(1)
                           .Size(10)
                         );

            var re = _elasticClient.MultiSearch(d);
...