ElasticSearch根据存储桶长度(存储桶中唯一键的数量)过滤结果
我想写下一个弹性聚合,它只在其内部bucket的长度大于1时返回一个键ElasticSearch根据存储桶长度(存储桶中唯一键的数量)过滤结果,
Warning: implode(): Invalid arguments passed in /data/phpspider/zhask/webroot/tpl/detail.html on line 45
,,我想写下一个弹性聚合,它只在其内部bucket的长度大于1时返回一个键 "aggs": { "product_definitions": { "terms": { "field": "definition_name", "size": 200, "exclude": "NO_MATCH", "min_doc_count": 5 }, "aggs"
"aggs": {
"product_definitions": {
"terms": {
"field": "definition_name",
"size": 200,
"exclude": "NO_MATCH",
"min_doc_count": 5
},
"aggs": {
"product_instances": {
"terms": {
"field": "data_source_name",
"size": 100
}
}
}
}
}
这是我的聚合,它返回:
"aggregations": {
"product_definitions": {
"doc_count_error_upper_bound": 10,
"sum_other_doc_count": 29281,
"buckets": [
{
"key": "DANA ANTRİKOT KG",
"doc_count": 13,
"product_instances": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "SariyerMarketCom",
"doc_count": 13
}
]
}
},
{
"key": "Keskinoğlu Piliç Salam 700G",
"doc_count": 10,
"product_instances": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "HappyCenterComTr",
"doc_count": 9
},
{
"key": "SanalMarketComTr",
"doc_count": 1
}
]
}
},
{
"key": "Doğuş Filiz Çayı 1000 G",
"doc_count": 9,
"product_instances": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "HappyCenterComTr",
"doc_count": 7
},
{
"key": "SanalMarketComTr",
"doc_count": 2
}
]
}
}
]
}
}
仅当产品实例的bucket有两个以上的键时,我才需要产品定义中的键。在本例中,它应该只返回2。三,。钥匙,而不是1。因为一桶水。密钥仅包含一个
"buckets": [
{
"key": "SariyerMarketCom",
"doc_count": 13
}
]
您可以利用来实现这一点,如下所示:
"aggs": {
"product_definitions": {
"terms": {
"field": "definition_name",
"size": 200,
"exclude": "NO_MATCH",
"min_doc_count": 5
},
"aggs": {
"product_instances": {
"terms": {
"field": "data_source_name",
"size": 100
}
},
"minimum_2": {
"bucket_selector": {
"buckets_path": {
"count": "product_instances._bucket_count"
},
"script": "params.count >= 2"
}
}
}
}
}
我试过了,但它给出了错误“type”:“非法参数\u异常”,“原因”:“[script]未知字段[source],未找到解析器”,就像我使用5.55.5的弹性搜索版本一样。好啊我已确定答案,请再试一次