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 Searchedit
The multi search API allows to execute several search requests within the same API.
Fluent DSLedit
var result = client.MultiSearch(ms => ms .Search<ElasticsearchProject>("projects", s => s.MatchAll()) .Search<Person>("people", s => s.MatchAll()) );
Object Initializer Syntaxedit
var 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 Responseedit
MultiSearch
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");