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"
            }
        ]
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章