elastic/elasticsearch

Consistency between `_search` and `_msearch`

Open

#4,227 opened on Nov 21, 2013

View on GitHub
 (42 comments) (1 reaction) (0 assignees)Java (25,882 forks)batch import
:Search Foundations/Search>bugTeam:Search Foundationsgood first issuehelp wantedpriority:normal

Repository metrics

Stars
 (76,700 stars)
PR merge metrics
 (Avg merge 2d) (1,000 merged PRs in 30d)

Description

The _msearch API doesn't accept the same header parameters than _search's query parameters. For instance version is both valid in the search body and query parameters for _search, but is ignored in the query parameters and header in _msearch.

MultiSearchRequest.add() should rely on RestSearchAction.parseSearchSource() or even RestSearchAction.parseSearchRequest() to parse the subrequests, for maximum compatibility.

IMHO, a clean bulk API should use the header parameters as query parameters on the target endpoint, which would imply that they keep in sync no matter the code changes in the target endpoints.

Contributor guide