我很新于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总是返回完整的文档,那么我该如何实现它,或者我不能实现吗?