Elasticsearch:仅返回嵌套的inner_hits

17

我有以下查询:

GET /networkcollection/branch_routers/_search/
{
  "query": {
    "nested": {
      "path": "queries",
      "query": {
        "bool": {
          "must": [
            { "match": 
              { "queries.dateQuery": "20160101T200000.000Z" }
            }
          ]
        }
      },
      "inner_hits" : {}
    }
  }
}

这将返回“hits”对象(整个文档)以及“inner_hits”对象(嵌套在hits内部)。

我是否有办法仅返回出现在“inner_hits”结果中的匹配的“queries”元素,而不获取整个文档?

1个回答

31

通过在顶层指定 "_source" : false 来禁用 源字段,应该能够实现它。

POST /networkcollection/branch_routers/_search/
{
  "_source" : false,
  "query": {
    "nested": {
      "path": "queries",
      "query": {
        "bool": {
          "must": [
            { "match": 
              { "queries.dateQuery": "20160101T200000.000Z" }
            }
          ]
        }
      },
      "inner_hits" : {}
    }
  }
}

非常感谢,完美运行!真是省了不少时间! - Juha Vehnia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接