elasticsearch 如何在Nushell中根据group-by的value列中的行数进行过滤?

pbossiut  于 2023-10-17  发布在  ElasticSearch
关注(0)|答案(2)|浏览(71)

我想在SQL中做一个HAVING子句的等价物。真实的描述是,我试图找到指向两个(或更多)索引及其索引名称的Elasticsearch别名。数据看起来像这样。
我首先执行一个 group by,然后透视它们以获取行,其中第一列是组键,第二列是具有n行的表。获取此表的命令是open file.txt | lines | split-column " " --collapse-empty Alias Index | group by Alias | pivot

──┬───────────────┬────────────────
 # │ Column0       │ Column1
───┼───────────────┼────────────────
 0 │ abcd_20200430 │ [table 1 rows]
 1 │ abcd_20200501 │ [table 3 rows]
 2 │ abcd_20200502 │ [table 2 rows]
 3 │ abcd_20200503 │ [table 1 rows]
 4 │ abcd_20200504 │ [table 1 rows]

我想按Column1包含多行的行筛选此表。我该怎么做?
| where Column1.count > 1不工作

nfg76nw0

nfg76nw01#

您可以尝试添加另一列及其大小作为解决方法。大概是这样的:

open file.txt | lines | split-column " " --collapse-empty Alias Index | group by Alias | pivot | default size 0 | update size { get Column1 | count }
btqmn9zl

btqmn9zl2#

在最近的Nushell版本中,你应该可以像这样使用wherelength
where ($it.Column1 | length) > 1

相关问题