2016-12-03 87 views
0

请注意,以下示例是现实生活用例的缩小版,它使得问题易于阅读和制作点。ElasticSearch:在命中= 0时返回响应正文中的查询

我有以下文件结构:基于不同的值(“IDC”和“日期”的范围)

{ 
    "date" : 1400500, 
    "idc" : 1001, 
    "name": "somebody", 
} 

我执行_msearch查询(一次多个searchs)
当ES无法找到指定日期范围内的任何文件,它返回:

"hits":{ 
    "total":0, 
    "max_score":null, 
    "hits":[ 
    ] 
} 

但是,因为有N个结果,我不能告诉“IDC”,什么“日期”范围是这样的结果对。
我希望响应具有“搜索”日期范围和“idc”,当给定查询没有结果时。
例如,如果我寻找IDC = 1001的文档和1400100和1400200之间的日期,但目前还没有结果发现,响应应该在响应主体的查询词,像这样:

"hits":{ 
    "total":0, 
    "max_score":null, 
    "query": { 
      "date": { 
       "gt": 1400100, 
       "lte": 1400200, 
      } 
      "idc": 1001, 
     } 
} 

这样我可以知道日期范围和“IDC”组合没有结果。
请注意,上面的例子是一个真实生活用例的缩小版本,它的问题是易于阅读和表达观点。

回答