我有在JSON对象下面包含“标签”的文档。
标签是用户输入,可以是任何内容。
{
"tags":[
{
"tag":"test"
},
{
"tag":"prod"
},
{
"tag":"dev"
}
]
}
我在下面使用了标签的映射,因此在执行搜索时,我应该只获取文档的一部分而不是整个文档。
{
"mappings": {
"doc": {
"properties": {
"tags": {
"type": "nested",
"properties": {
"tag": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
}
}
以下查询将在文档中返回唯一标签。
{
"size": 0,
"aggs": {
"Nesting": {
"nested": {
"path": "tags"
},
"aggs": {
"keyword_names": {
"terms": {
"field": "tags.tag.keyword"
}
}
}
}
}
}
我想对上述查询返回的唯一结果进行搜索。
可以在单个查询中执行此操作吗?即
聚合查询可以用作子查询或另一个搜索查询的输入吗?
这样我就可以使用某些搜索条件进一步过滤结果