在kibana面板中使用嵌套字段

时间:2014-02-05 22:16:12

标签: elasticsearch kibana

我尝试显示Kibana仪表板,效果很好。不幸的是,当我想添加一个包含公司位置国家的饼图(或其他表示)时,我有一个空面板。

我可以使用kibana查询过滤特定国家/地区,但我无法显示包含嵌套文档的面板。

我的映射(我必须使用嵌套字段,因为公司可以有多个位置):

{
  "settings" : {
    "number_of_shards" : 1
  },
  "mappings": {
    "company" : {
      "properties" : {
        "name" : { "type" : "string", "store" : "yes" },
        "website" : { "type" : "string", "store" : "yes" },
        "employees" : { "type" : "string", "store" : "yes" },
        "type": { "type" : "string", "store" : "yes" },
        "locations" : {
          "type" : "nested",
          "properties" : {
            "city" : { "type" : "string", "store" : "yes" },
            "country" : { "type" : "string", "store" : "yes" },
            "coordinates" : { "type" : "geo_point", "store" : "yes" }
          }
        }
      }
    }
  }
}

您知道如何显示嵌套对象的面板吗?它实施了吗?

谢谢, 凯文

2 个答案:

答案 0 :(得分:0)

您在映射中缺少一个参数(“include_in_parent”:true)。 正确的映射应该是:

{
  "settings" : {
    "number_of_shards" : 1
  },
  "mappings": {
    "company" : {
      "properties" : {
        "name" : { "type" : "string", "store" : "yes" },
        "website" : { "type" : "string", "store" : "yes" },
        "employees" : { "type" : "string", "store" : "yes" },
        "type": { "type" : "string", "store" : "yes" },
        "locations" : {
          "type" : "nested",
          "include_in_parent": true,
          "properties" : {
            "city" : { "type" : "string", "store" : "yes" },
            "country" : { "type" : "string", "store" : "yes" },
            "coordinates" : { "type" : "geo_point", "store" : "yes" }
          }
        }
      }
    }
  }
}

答案 1 :(得分:0)

这显然是一个Kibana错误。 Kibana生成的facet查询缺少"嵌套"字段表示这一点。