请注意,以下示例是现实生活中用例的一个非常简化的版本,它是为了使问题易于阅读和指出。
我有以下文档结构:
{
"date" : 1400500,
"idc" : 1001,
"name": "somebody",
}
我正在根据不同的值(“idc”和“date”范围)执行_msearch查询(一次多次搜索)
当ES找不到给定日期范围的任何文档时,它返回:
"hits":{
"total":0,
"max_score":null,
"hits":[
]
}
但是,由于有N个结果,我无法分辨出这个结果的“idc”和“date”范围。
我希望响应在给定查询没有结果时具有“搜索”日期范围和“idc”。
例如,如果我正在搜索IDC = 1001的文档和1400100和1400200之间的日期,但是没有找到结果,则响应应该在响应正文中包含查询条件,如下所示:
"hits":{
"total":0,
"max_score":null,
"query": {
"date": {
"gt": 1400100,
"lte": 1400200,
}
"idc": 1001,
}
}
这样我可以告诉什么日期范围和“idc”组合没有结果。
请注意,上面的示例是现实生活中用例的一个非常简化的版本,它是为了使问题易于阅读和重点。
答案 0 :(得分:1)
这是来自文档
多搜索API(_msearch)响应返回一个响应数组,其中包括搜索 每个搜索请求的响应和状态代码匹配其订单 原始的多重搜索请求。
因为您知道发送请求的顺序,所以您可以找出哪个请求失败。
https://www.elastic.co/guide/en/elasticsearch/reference/current/search-multi-search.html