WARNING: Version 5.x has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Multi Search
editMulti Search
editThe multi search API allows to execute several search requests within the same API.
Fluent DSL
editvar result = client.MultiSearch(ms => ms .Search<ElasticsearchProject>("projects", s => s.MatchAll()) .Search<Person>("people", s => s.MatchAll()) );
Object Initializer Syntax
editvar request = new MultiSearchRequest { Operations = new Dictionary<string, ISearchRequest> { { "projects", new SearchRequest<ElasticsearchProject> { Query = new QueryContainer(new MatchAllQuery()) } }, { "people", new SearchRequest<Person> { Query = new QueryContainer(new MatchAllQuery()) } } } }; var result = client.MultiSearch(request);
Handling the Multi Search Response
editMultiSearch
returns an IMultiSearchResponse
object. Each SearchResponse<T>
can be retrieved using the corresponding
name that was specified in the request.
// returns a SearchResponse<ElasticsearchProject>> var projects = result.GetResponse<ElasticsearchProject>("projects"); // returns a SearchResponse<Person>> var people = result.GetResponse<Person>("people");