Elasticsearch 8.3.2 _msearch API报错 请求协助解决
Elasticsearch 8.3.2 _msearch 请求错误解决
错误原因
Elasticsearch的_msearch API要求每个搜索请求必须由「元数据行」和「查询行」成对组成。你当前的Payload里,第一个空元数据行对应第一个查询行后,第二个查询行没有对应的元数据行,被ES误识别为元数据部分,而元数据字段里不允许出现query,因此触发illegal_argument_exception。
修正后的请求Payload
将每个查询都配上对应的元数据行(空对象即可,因为你已经在URL指定了目标索引myindex):
{ } {"query" : {"match" : { "message": "this is a test"}}} { } {"query" : {"match_all" : {}}}
额外说明
如果需要在多搜索中指定不同的索引,可以在元数据行里明确声明,比如:
{"index": "myindex"} {"query" : {"match" : { "message": "this is a test"}}} {"index": "anotherindex"} {"query" : {"match_all" : {}}}
内容的提问来源于stack exchange,提问作者Sheik Syed
相关产品推荐
相关产品推荐

