我在弹性搜索中有下一个字段映射(YML中的定义):
my_analyzer:
type: custom
tokenizer: keyword
filter: lowercase
products_filter:
type: "nested"
properties:
filter_name: {"type" : "string", analyzer: "my_analyzer"}
filter_value: {"type" : "string" , analyzer: "my_analyzer"}
Run Code Online (Sandbox Code Playgroud)
每个文档都有很多过滤器,看起来像:
"products_filter": [
{
"filter_name": "Rahmengröße",
"filter_value": "33,5 cm"
}
,
{
"filter_name": "color",
"filter_value": "gelb"
}
,
{
"filter_name": "Rahmengröße",
"filter_value": "39,5 cm"
}
,
{
"filter_name": "Rahmengröße",
"filter_value": "45,5 cm"
}]
Run Code Online (Sandbox Code Playgroud)
我试图获取每个过滤器的唯一过滤器名称列表和唯一过滤器值列表.
我的意思是,我希望获得如下结构:Rahmengröße:
39,5 cm 45,5
cm
33,5
cm
颜色:
gelb
为了得到它,我尝试了几种聚合变体,例如:
{
"aggs": {
"bla": {
"terms": {
"field": "products_filter.filter_name"
},
"aggs": …Run Code Online (Sandbox Code Playgroud)