通过比较 elasticsearch 和 kibana 中的字段来过滤结果
Filter results by comparison of fields in elasticsearch and kibana
我正在尝试构建一个 kibana 可视化,它显示字段 A 不等于另一个字段 B 的文档数。
这些应该首先按一个术语聚合,这样我在 X 轴上就有一些组。然后,对于所有这些不同的术语,我想显示字段 A 不等于字段 B 的计数。
Example
{
"fieldA":"HR",
"fieldB":"HR",
"AggregateOnThisField":"A"
},
{
"fieldA":"HR",
"fieldB":"Admin",
"AggregateOnThisField":"A"
}
{
"fieldA":"Admin",
"fieldB":"HR",
"AggregateOnThisField":"B"
}
{
"fieldA":"Admin",
"fieldB":"HR",
"AggregateOnThisField":"B"
}
因此,X 轴上将有两个点代表 A 和 B。A 的计数为 1,B 的计数为 2。我知道如何在 X 轴上绘制项,但发现很难实现此过滤器。
运行 两者的 v7.2。
提前致谢。
我可以通过在索引中添加一个脚本字段来解决这个问题。
为此,转到管理 -> 索引模式 -> select 你的索引 -> 脚本字段
由于我需要一个布尔值输出,select编辑了与类型下拉列表相同的内容。
然后在脚本中,添加这些行,
if(doc['fieldA.keyword'].value.toLowerCase().equals(doc['fieldB.keyword'].value.toLowerCase()))
{
return true;
}
else
{
return false;
}
fieldA 和 fieldB 是字符串所以使用.keyword
添加此脚本后,我可以将其用作 kibana 可视化中的字段。
我正在尝试构建一个 kibana 可视化,它显示字段 A 不等于另一个字段 B 的文档数。
这些应该首先按一个术语聚合,这样我在 X 轴上就有一些组。然后,对于所有这些不同的术语,我想显示字段 A 不等于字段 B 的计数。
Example
{
"fieldA":"HR",
"fieldB":"HR",
"AggregateOnThisField":"A"
},
{
"fieldA":"HR",
"fieldB":"Admin",
"AggregateOnThisField":"A"
}
{
"fieldA":"Admin",
"fieldB":"HR",
"AggregateOnThisField":"B"
}
{
"fieldA":"Admin",
"fieldB":"HR",
"AggregateOnThisField":"B"
}
因此,X 轴上将有两个点代表 A 和 B。A 的计数为 1,B 的计数为 2。我知道如何在 X 轴上绘制项,但发现很难实现此过滤器。
运行 两者的 v7.2。
提前致谢。
我可以通过在索引中添加一个脚本字段来解决这个问题。 为此,转到管理 -> 索引模式 -> select 你的索引 -> 脚本字段
由于我需要一个布尔值输出,select编辑了与类型下拉列表相同的内容。
然后在脚本中,添加这些行,
if(doc['fieldA.keyword'].value.toLowerCase().equals(doc['fieldB.keyword'].value.toLowerCase()))
{
return true;
}
else
{
return false;
}
fieldA 和 fieldB 是字符串所以使用.keyword
添加此脚本后,我可以将其用作 kibana 可视化中的字段。