Elasticsearch nested query -- 嵌套查询

Elasticsearch nested query -- 嵌套查询

摘要

包装一个查询,用来搜索嵌套字段

参数

  1. path,必选项。要搜索的嵌套对象的字段。
  2. query,匹配项。要在中的嵌套对象上运行的查询path。如果对象与搜索匹配,则nested查询返回根父文档。您可以使用包含完整路径的点表示法来搜索嵌套字段,例如obj1.name。自动支持并检测到多级嵌套,如果一个嵌套查询存在于另一个嵌套查询中,则内部嵌套查询将自动匹配相关的嵌套级别,而不是根。

示例

PUT /drivers
{
    "mappings" : {
        "properties" : {
            "driver" : {
                "type" : "nested",
                "properties" : {
                    "last_name" : {
                        "type" : "text"
                    },
                    "vehicle" : {
                        "type" : "nested",
                        "properties" : {
                            "make" : {
                                "type" : "text"
                            },
                            "model" : {
                                "type" : "text"
                            }
                        }
                    }
                }
            }
        }
    }
}

PUT /drivers/_doc/1
{
  "driver" : {
        "last_name" : "McQueen",
        "vehicle" : [
            {
                "make" : "Powell Motors",
                "model" : "Canyonero"
            },
            {
                "make" : "Miller-Meteor",
                "model" : "Ecto-1"
            }
        ]
    }
}

PUT /drivers/_doc/2?refresh
{
  "driver" : {
        "last_name" : "Hudson",
        "vehicle" : [
            {
                "make" : "Mifune",
                "model" : "Mach Five"
            },
            {
                "make" : "Miller-Meteor",
                "model" : "Ecto-1"
            }
        ]
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章