如何将聚合与复合用于 elasticsearch-dsl



我正在使用聚合和聚合桶默认接受一个键值,然后我研究并找到它

"aggs" : {
"my_buckets": {
"composite" : {
"sources" : [
{ "category_pk": { "terms": { "field": "category.pk"} } },
{ "category_name": { "terms": {"field": "category.name" } } }
]
}
}
}
}

上面的代码结果是两个键,_doc_count但我不能申请 elasticsearch-dsl 有人帮我

  • 谢谢

我解决了这个问题,当我们使用Composite

s = ProductDocument.search()
brand_name = A('terms', field='brand.name')
brand_pk = A('terms', field='brand.id')
brand_key_aggs = [
{'brand_pk': brand_pk},
{'brand_name': brand_name}
]
s.aggs.bucket('brand_terms', "composite", sources=brand_key_aggs) 

示例结果

{  
'key':{  
'brand_pk':869,
'brand_name':'Uni Baby'
},
'doc_count':2
},

相关内容

最新更新