Foselastica只有最匹配的孩子

时间:2016-08-04 14:59:59

标签: symfony elasticsearch

注意:使用elasticsearch 1.7和foselastica 3.1!

如何只获得父/子或嵌套中最匹配的孩子? 我需要查询整个索引(父字段和chied字段)。查询返回父项及其子项。但我只需要父查询和最匹配的子查询。

我试图通过TopChildren,HasChild等实现它,但它不起作用。

这就是我的查询

{
   "query":{
      "has_child":{
         "type":"variants",
         "query":{
            "filtered":{
               "query":{
                  "bool":{
                     "must":[
                        {
                           "match":{
                              "allField":{
                                 "query":"shirt rot",
                                 "operator":"AND",
                                 "minimum_should_match":"80%",
                                 "fuzziness":"0.8",
                                 "analyzer":"custom_search_analyzer"
                              }
                           }
                        }
                     ],
                     "should":[
                        {
                           "match":{
                              "shortName":{
                                 "query":"shirt rot",
                                 "operator":"AND",
                                 "analyzer":"custom_search_analyzer",
                                 "boost":5
                              }
                           }
                        }
                     ]
                  }
               },
               "filter":{
                  "bool":{
                     "should":[
                        {
                           "terms":{
                              "customized":[
                                 0
                              ]
                           }
                        }
                     ]
                  }
               }
            }
         },
         "max_children":1
      }
   }
}

0 个答案:

没有答案