通过将 map<struct> 分解为列表并使用 sameElement 进行过滤来对结构进行分组
Group structs by exploding map<struct> into a list and filtering with sameElement
vespa 可以在 <map: string,struct>
上分组,在 struct.k1=x
AND struct.k2=y
上加上一个子句,并且只获取匹配结构数量的计数(不是文档!,因为一个文档可能有多个匹配的结构) ?
所以它会使用where struct.k1=x AND struct.k2=y
和return一组地图来分解列表中的所有struct
。
就像您可以使用 sameElement
进行筛选一样,在这种情况下,您列出结构,执行 sameElement
筛选,然后按 struct.k3
进行分组
这有意义吗?
谢谢
编辑:一个例子在 Postgresql 中。 unnest()
可用于 array
而 json_each()
可用于 json
以将它们转换为行
参考:
https://www.postgresql.org/docs/current/functions-array.html
Vespa 的分组框架将适用于文档中的所有地图元素,而不仅仅是与 sameElement 查询项匹配的地图元素。类似的,如果你有一个简单的 field foo array<string>{}
分组将对数组中的所有元素进行操作,而不仅仅是与查询匹配的元素。
vespa 可以在 <map: string,struct>
上分组,在 struct.k1=x
AND struct.k2=y
上加上一个子句,并且只获取匹配结构数量的计数(不是文档!,因为一个文档可能有多个匹配的结构) ?
所以它会使用where struct.k1=x AND struct.k2=y
和return一组地图来分解列表中的所有struct
。
就像您可以使用 sameElement
进行筛选一样,在这种情况下,您列出结构,执行 sameElement
筛选,然后按 struct.k3
这有意义吗? 谢谢
编辑:一个例子在 Postgresql 中。 unnest()
可用于 array
而 json_each()
可用于 json
以将它们转换为行
参考:
https://www.postgresql.org/docs/current/functions-array.html
Vespa 的分组框架将适用于文档中的所有地图元素,而不仅仅是与 sameElement 查询项匹配的地图元素。类似的,如果你有一个简单的 field foo array<string>{}
分组将对数组中的所有元素进行操作,而不仅仅是与查询匹配的元素。