Elasticsearch嵌套查询是否可以仅返回匹配的嵌套字段的文档?

7

我很新于Elasticsearch,并想知道是否Elasticsearch嵌套查询可以仅返回嵌套字段的匹配文档。

例如,我有一个名为blog的类型,其中包含一个名为comments的嵌套字段。

{
  "id": 1,
  ...
  "comments":[
    {"content":"Michael is a basketball player"},
    {"content":"David is a soccer player"}
  ]
}
{
  "id": 2,
  ...
  "comments":[
    {"content":"Wayne is a soccer player"},
    {"content":"Steven is also a soccer player"},
  ]
}

以及嵌套查询

{"query":{
  "nested":{
    "path":"comments",
    "query":{"match":{"comments.content":"soccer"}}
  }
}

我需要搜索带有评论的博客文章,这些评论提到了“足球”,并计算每篇博客文章匹配“足球”的评论数目(在此示例中计算为1,因为另一条评论只提到了“篮球”)。

{"hits":[
  {
    "id":1,
    ...
    "count_for_comments_that_matches_query":1,
  },
  {
    "id":2,
    ...
    "count_for_comments_that_matches_query":2,
  }
]}

然而,似乎Elasticsearch总是返回完整的文档,那么我该如何实现它,或者我不能实现吗?
1个回答

1

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