Elasticsearch:不同领域的聚合

时间:2019-03-06 08:51:14

标签: elasticsearch kibana

我正在使用特定的软件将数据索引到Elasticsearch中,但是它会创建如下文档:

{
  contact: +31644488857,
  name: "Jan",
  address: "street 3"
}

{
   person: {
       phone: +31688844499,
       address: "street 5"
   }
   name: "Piet"
}

现在,我正在寻找一种在kibana中创建表格的方法,该表格结合了电话号码,但会将其视为一个字段。因此,我不想为不同的字段创建不同的表或多个列。我只想创建一个显示所有电话号码的表格,而不管它来自哪个字段。

有没有办法做到这一点?我希望可以使用脚本字段,但似乎无法在脚本字段上进行汇总...

1 个答案:

答案 0 :(得分:0)

您当然可以在Kibana中为(keyword)字符串创建一个脚本字段,以后再进行汇总。

只需转到“管理>索引模式”,选择相关的索引模式,创建一个字符串类型的新脚本字段,然后使用以下脚本:

[doc['contact.keyword'].value, doc['person.phone.keyword'].value]

这将创建一个新的脚本字段,其中包含一个数组,其元素将是您的电话号码字段。然后,您可以在“发现”视图中或在“可视化”视图中的术语集合中可视化该字段。