您的位置:首页 > 编程语言 > PHP开发

kibana 如何查询、聚合nested字段

2018-02-28 18:09 1386 查看

1 kibana对nested字段支持情况

截止kibana6.2.1版,仍不能针对nested字段进行查询和聚合。

2 ElasticSearch如何操作nested字段

2.1 创建

样例如下(其中labelInfoList为nested字段)

PUT metadatainfo
{
  "settings": {
    ……  
  },
  "mappings": {
    "facedataMD": {
         ……
      "properties": {        
        "isLabeled": {
          "type": "boolean"
        }, 
        "labelInfoList": {
          "type": "nested",
         "properties": {
               "isOfficial": {
                   "type": "boolean"
              }
           }

        }
      }
    }
  }
}

2.2查询

样例如下(其中labelInfoList为nested字段)
GET /metadatainfo/facedataMD/_search
{
  "query": {
    "nested": {
      "path": "labelInfoList",
      "query": {
        "bool": {
          "must": [
            {
              "match": {
                "labelInfoList.isOfficial": "true"
              }
            },
            {
              "range": {
                "labelInfoList.faces.age": {
                  "gte": 25
                }
              }
            }
          ]
        }
      }
    }
  }

}

2.3聚合

样例如下:
GET /metadatainfo/facedataMD/_search
{
  "query": {
    "match": {
      "isLabeled": "true"
    }
  },
  "aggs": {
    "labelInfoList": {
      "nested": {
        "path": "labelInfoList"
      },
      "aggs": {
        "age": {
          "range": {
            "field": "labelInfoList.faces.age",
            "ranges": [
              {
                "from": 0,
                "to": 25
              },
              {
                "from": 25,
                "to": 28
              },
              {
                "from": 28,
                "to": 30
              }
            ]
          }
        }
      }
    }
  }

}

3 kibana如何能支持nested字段

安装KibanaNestedSupportPlugin。
具体安装方法
1)下载对应版本的插件,下载地址如: https://github.com/ppadovani/KibanaNestedSupportPlugin/archive/6.2.zip
2)解压 KibanaNestedSupportPlugin-6.2.zip为KibanaNestedSupportPlugin-6.2
3)新建kibana文件夹
4)将解压后的KibanaNestedSupportPlugin-6.2移入kibana文件下
5)将kibana目录压缩为KibanaNestedSupportPlugin-6.2.zip
6)在kibana的home路径下执行安装
 bin/kibana-plugin install file:///yourpath/KibanaNestedSupportPlugin-6.2.zip

若直接用url安装,或直接下载安装,则会报
Plugin installation was unsuccessful due to error "No kibana plugins found in archive"
7)打开kibana http://ip:5601/status
若插件列表中出现下图所示即为成功

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息