注意:使用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
}
}
}