zoukankan      html  css  js  c++  java
  • es 复合数据类型——数组,对象和嵌套

    嵌套代码如下:

    PUT demo
    {
      "settings": {
        "number_of_shards": 4,
        "number_of_replicas": 1
      },
      "mappings": {
          "properties": {
            "id": {
              "type": "long"
            },
            "title": {
              "type": "text"
            },
            "university": {
              "type": "nested",
              "properties": {
                "name": {
                  "type": "text"
                },
                "foundingYear": {
                  "type": "date"
                },
                "address": {
                  "type": "text"
                },
                "college": {
                  "type": "nested",
                  "properties": {
                    "name": {
                      "type": "text"
                    }
                  }
                }
              }
            }
          
        }
      }
    }
    
    POST demo/_doc
    {
      "id": 1,
      "title": "北京市学校信息列表",
      "university": [
        {
          "name": "清华大学",
          "address": "北京市海淀区双清路30号",
          "foundingYear": "1911-04-09",
          "college": [
            {
              "name": "土木水利学院"
            },
            {
              "name": "信息科学技术学院"
            },
            {
              "name": "材料学院"
            }
          ]
        },
        {
          "name": "北京大学",
          "address": "北京市海淀区颐和园路5号",
          "foundingYear": "1898-06-01",
          "college": [
            {
              "name": "经济学院"
            },
            {
              "name": "外国语学院"
            },
            {
              "name": "信息科学技术学院"
            }
          ]
        }
      ]
    }
    
    PUT demo/_doc
    {
      "id": 2,
      "title": "上海市学校信息列表",
      "university": [
        {
          "name": "复旦大学",
          "address": "上海市杨浦区邯郸路220号",
          "foundingYear": "1905-06-29",
          "college": [
            {
              "name": "哲学学院"
            },
            {
              "name": "信息科学与工程学院"
            },
            {
              "name": "计算机科学技术学院"
            }
          ]
        },
        {
          "name": "上海交通大学",
          "address": "上海市闵行区东川路800号",
          "foundingYear": "1896-12-01",
          "college": [
            {
              "name": "船舶海洋与建筑工程学院"
            },
            {
              "name": "环境科学与工程学院"
            },
            {
              "name": "外国语学院"
            }
          ]
        }
      ]
    }
    
    GET demo/_doc/_search
    {
      "_source": {
        "includes": [
          "*"
        ],
        "excludes": [
          "university"
        ]
      },
      "query": {
        "nested": {
          "path": "university",
          "query": {
            "bool": {
              "must": [
                {
                  "match": {
                    "university.name": "清华"
                  }
                }
              ]
            }
          },
          "inner_hits": {}
        }
      }
    }

      对象代码如下:

    PUT demo2
    {
      "settings": {
        "number_of_shards": 4,
        "number_of_replicas": 1
      },
      "mappings": {
          "properties": {
            "id": {
              "type": "long"
            },
            "title": {
              "type": "text"
            },
            "university": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "text"
                },
                "foundingYear": {
                  "type": "date"
                },
                "address": {
                  "type": "text"
                }
              }
            }
          
        }
      }
    }
    
    POST demo2/_doc
    {
      "id": 1,
      "title": "北京市学校信息列表",
      "university": 
        {
          "name": "北京大学",
          "address": "北京市海淀区颐和园路5号",
          "foundingYear": "1898-06-01"
        }
    }
    
    GET demo2/_doc/_search
    {
       "query": {
          "bool": {
             "must": [
                {
                   "match": {
                      "university.name": "北京"
                   }
                }
             ]
          }
       }
    }
  • 相关阅读:
    sshd_config参数说明
    护网小结(持续更新)
    CVE-2019-2725修复(删包)
    网址收藏
    Kali 开启 SSH 服务方法
    SSL/TLS 安全测试
    时间序列(二):时序预测那些事儿
    时间序列(一):上手体验
    推荐一个利用 python 生成 pptx 分析报告的工具包:reportgen
    评分卡系列(四):泛化误差估计和模型调参
  • 原文地址:https://www.cnblogs.com/-mrl/p/14985433.html
Copyright © 2011-2022 走看看