我正在对Elasticsearch中的嵌套字段使用复合聚合,但是我想从结果中排除一些术语。
此聚合有效:
{
"size": 0,
"geo": {
"communication": {
"nested": {
"path": "geo"
},
"aggs": {
"table": {
"composite": {
"size": 1000,
"sources": [
{"stk1": {"terms": {"field": "geo.src"}}},
{"stk2": {"terms": {"field": "geo.dest"}}}
]
}
}
}
}
}
}
但是我想从stk2中排除一些术语,
{
"size": 0,
"aggs": {
"geo": {
"nested": {
"path": "geo"
},
"aggs": {
"table": {
"composite": {
"size": 1000,
"sources": [
{"stk1": {"terms": {"field": "geo.src"}}},
{"stk2": {"terms": {"field": "geo.dest", "exclude":"cancel"}}}
]
}
}
}
}
}
}
以上查询无效。
更新1:结果应仅省略数组元素,而不是整个包含“取消”的文档。
我正在使用弹性v6.7
答案 0 :(得分:0)
我建议使用查询来排除这些文档:
create view checkd as (
select wms.id as idWMS
, wms.pcode as pcodeWMS
, wms.barcode as barcodeWMS
from wms
join outerb on wms.barcodeWMS = concat('0', outerb.barcode));