首页 > 解决方案 > Elasticsearch 嵌套查询和排序

问题描述

有人可以帮我理解嵌套的弹性是什么意思吗?在文档中https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-sort.html#_nested_sorting_examples是一个示例,它没有显示文档对象的外观。看起来我应该想象一下搜索查询的映射。查询看起来像:

POST /_search
{
   "query": {
      "nested": {
         "path": "parent",
         "query": {
            "bool": {
                "must": {"range": {"parent.age": {"gte": 21}}},
                "filter": {
                    "nested": {
                        "path": "parent.child",
                        "query": {"match": {"parent.child.name": "matt"}}
                    }
                }
            }
         }
      }
   },
   "sort" : [
      {
         "parent.child.age" : {
            "mode" :  "min",
            "order" : "asc",
            "nested": {
               "path": "parent",
               "filter": {
                  "range": {"parent.age": {"gte": 21}}
               },
               "nested": {
                  "path": "parent.child",
                  "filter": {
                     "match": {"parent.child.name": "matt"}
                  }
               }
            }
         }
      }
   ]
}

有人可以写一个文档结构,这个查询可以工作吗?

标签: elasticsearchnested

解决方案


像这样的东西。

{
    "parent": {
        "name": "Elasti Sorch",
        "age": 23,
        "child": [
           {
              "name": "Kibana Lion",
              "age": 12
           }, 
           {
              "name": "Matt",
              "age": 15
           }
        ] 
    }
}

推荐阅读