我现在已经和elasticsearch合作了一段时间。阅读父母的孩子关系,我无法找到我正在寻找的答案。
要填充ui-grid,例如,我确实有一个查询,它会为我提供一个游戏平台列表,每个平台都有一个子列表,其中包含已启动的游戏,寻找过滤该列表的方法,我可以考虑到孩子,我怎么能这样做呢。
父级 - 平台|发布日期
儿童 - 标题|平台|发布日期。
如果我按发布日期进行过滤,我只会从父级中获取,在query
上添加has_child
以及在主查询上添加过滤器,我可以按过滤一个又一个,但不是一个或另一个。如果我使用名称" box"我得到了xbox,xbox360和xbox,但没有包含" box"在标题中。
使用下面的查询,它只给我带来了xbox游戏机和xbox游戏。在这种情况下,我需要考虑两者
{
"size":100,
"from":0,
"query":{
"bool":{
"should":[
{
"has_child":{
"child_type":"games",
"inner_hits":{
"from":0,
"size":5000,
"_source":[
"title",
"platform",
"launchDate"
]
},
"query":{
"bool":{
"should":[
{
"wildcard":{
"title":"*box*"
}
}
]
}
}
}
}
],
"filter":[
{
"wildcard":{
"title":"*box*"
}
}
]
}
},
"_source":[
"platform",
"launchDate",
"company"
],
"sort":[
{
"launchDate":"desc"
}
]
}