elasticsearch如何搜索嵌套內容

語言: CN / TW / HK

第一步 字段類型設置為nested

{
    "book": {
        "properties": {
            "title":{"type":"string"},
            "chapters":{
                "type":"nested",
                "properties":{
                    "title":{"type":"string"},
                    "length":{"type":"long"}
                }
            }
        }
    }
}

第二步 用inner_hits來查詢

POST /bookindex/book/_search

{
  "_source": false,
  "query": {
    "nested": {
      "path": "chapters",
      "query": {
        "match": {
          "chapters.title": "epilogue"
        }
      },
      "inner_hits": {}
    }
  }
}

參考鏈接:https://stackoverflow.com/questions/16788553/returning-a-partial-nested-document-in-elasticsearch