我有这个映射:
products: {
product: {
properties: {
id: {
type: "long"
},
name: {
type: "string"
},
tags: {
dynamic: "true",
properties: {
tagId: {
type: "long"
},
tagType: {
type: "long"
}
}
}
}
}
}
我想在标记ID上创建一个facet,但是使用标记类型过滤。 我需要过滤器只应用于facet而不是查询结果。 所以这是我的要求:
{
"from": 0,
"size": 10,
"facets": {
"tags": {
"terms": {
"field": "tags.tagId",
"size": 10
},
"facet_filter": {
"terms": {
"tags.tagType": [
"11",
"19"
]
}
}
}
},
"query": {
"match_all": {}
}
}
构面过滤似乎不会影响构面。 有什么想法吗?
答案 0 :(得分:1)
过滤器应用于文档,即示例中的父实体。这意味着您要按tags.tagType
过滤您构成方面的文档。因此,所有具有特定tags.tagType
值的文档都用于构建构面,这不是我想要的。
这是nested文档的用例。您也可以查看this nice article。