我刚刚升级到Elastic Search 1.5.0,到目前为止我无法使用嵌套过滤器使用inner_hits,尽管它可以与嵌套查询一起使用.
比方说,我要检索的内部嵌套对象演员一中的电影对象.
当我运行以下嵌套查询时:
语法1
GET my_index/movie/_search
{
  "query": {
    "filtered": {
      "query": {"match_all": {}},
      "filter": {
        "nested": {
          "path": "actors",
          "query": {
            "match": {
              "actors.id": 12345
            }
          }, 
          "inner_hits" : {}
        }
      }
    }
  }
}
=>我得到了这里记录的inner_hits ,这很好.
但是,当我尝试使用嵌套过滤器执行等效查询时:
语法2
GET my_index/movie/_search
{
  "query": {
    "filtered": {
      "query": {"match_all": {}},
      "filter": {
        "nested": {
          "path": "actors",
          "filter": {
            "term": {
              "actors.id": 12345
            }
          }, 
          "inner_hits" : {}
        }
      }
    }
  }
}
=>我得到以下解析错误
QueryParsingException [[my_index] [nested]需要'query'或'filter'字段]
(当我删除inner_hits时,这最后一个查询工作正常 - 当然除了我没有得到内部命中...)
我使用的语法有什么问题,或者嵌套过滤器还没有实现inner_hits?
提前致谢
编辑3-30-2015
它适用于@mdewit下面提供的语法(谢谢!)
语法3
GET my_index/movie/_search
{
    "query": {
        "nested": {
            "path": "actors",
            "query": {
                "filtered": {
                    "filter": {
                        "term": {"actors.id": 12345}
                    }
                }
            },
            "inner_hits" : {}
        }
    }
}
即使此语法与嵌套过滤器文档不匹配
=>我仍然不明白Syntax 2有什么问题.对我来说这似乎是一个ES错误.
编辑04-22-2015: ES 1.5.1中修复了错误,请参阅下面的评论
以下似乎有效:
GET my_index/movie/_search
{
    "query": {
        "nested": {
            "path": "actors",
            "query": {
                "filtered": {
                    "filter": {
                        "term": {"actors.id": 12345}
                    }
                }
            },
            "inner_hits" : {}
        }
    }
}'
ElasticSearch 1.5.1 中修复的错误,如此处所述
所以这个语法有效(并且工作正常)
GET my_index/movie/_search
{
  "query": {
    "filtered": {
      "query": {"match_all": {}},
      "filter": {
        "nested": {
          "path": "actors",
          "filter": {
            "term": {
              "actors.id": 12345
            }
          }, 
          "inner_hits" : {}
        }
      }
    }
  }
}
多谢你们!
| 归档时间: | 
 | 
| 查看次数: | 4637 次 | 
| 最近记录: |