是否可以对聚合的count()进行存储?语法Select parameter language grammar似乎暗示它是正确的,但我可能将其解释为错误。
我的粗略解释:
predefined([expr =(aggr =(count())],bucket(...))
( "predefined" "(" exp "," "(" bucket ( "," bucket )* ")" ")" ) |
exp ::= ( "+" | "-") ( "$" identifier [ "=" math ] ) | ( math ) | ( aggr )
aggr ::= ( ( "count" "(" ")" ) |
( "sum" "(" exp ")" ) |
( "avg" "(" exp ")" ) |
( "max" "(" exp ")" ) |
尝试(“表达式'count()'不适用于单次点击。”)
all(group(predefined(status, bucket["field1"] ) ) each(
all(group(predefined(count(), bucket[0,10>, bucket[11,20>)) each(
output(count() as(count)
))
))
答案 0 :(得分:1)
不支持创建预定义的count()存储桶(或其他聚合器)。一般而言,计数(即计数子组而不是命中时)会有些棘手,因为它是作为数据草图在整个节点上计算的,因此需要将其输出向下发送以进行存储。
这是您需要做的吗?如果是这样,请在https://github.com/vespa-engine/vespa/issues
上为其创建票证