在elasticsearch中过滤子项

时间:2018-01-24 15:09:36

标签: c# elasticsearch

我想在不改变父节点的情况下过滤弹性搜索中的孩子,我有类似这样的数据,并希望所有游戏,但每个游戏只能出现“isVisible = true”成员

...<FlipCard perspective={0.5}...>

} }

所以,我希望得到上面的游戏,但只有一个团队成员(约翰) 我正在使用C#,并尝试了这个:

{ 
"_index": "test", 
"_type": "Game", 
"_id": "1", 
"_source": { 
"gameName" : "test game",
"teamMembers" : {
    "id" : "2",
    "name":"John",
    "isVisible" : true
    },
{
    "id" : "3",
    "name":"emma",
    "isVisible": false
}

但它不起作用。

注意:我正在使用弹性搜索5.

先谢谢了。

1 个答案:

答案 0 :(得分:0)

试试这个:

result.Add(a => a
                .Nested(n => n
                              .Path(p=> p.TeamMembers)
                              .Query(q => q
                                           .Terms(t=>t
                                                 .Field(f=>f.TeamMembers.IsVisible)
                                                 .Terms(true)))));