C# ВЛОЖИТЬ условный фильтр в подсписок

#c# #elasticsearch #nest

Вопрос:

У меня проблема с функцией QueryContainerDescriptor, я определяю документ StudentDocument

 public class StudentDocument {  public int id {get;set;}  public string studentname {get;set;}  public string studentnumber {get;set;}  public IEnumerablelt;bookgt; favourbooks {get;set;} }  public class book {  public int id {get;set;}  public string bookname {get;set;}  public string AuthorName {get;set;} }  

Я определяю фильтр следующим образом: код

 var filters = new Listlt;Funclt;QueryContainerDescriptorlt;StudentDocumentgt;, QueryContainergt;gt;();  filters.Add(fq =gt; fq.Terms(t =gt; t.Field(f =gt; f.studentnumber).Terms("1346282")));  var response = await client.SearchAsynclt;StudentDocumentgt;(x =gt; x.Query(q =gt; q  .Bool(bq =gt; bq.Filter(filters))));  

Возвращаемый результат эластичного поиска будет :

 {  "total": 1,  "results": [  {  "id": 1346282,  "studentname": "Casey",  "studentnumber" :"YT2021"  "favourbooks": [  {  "id": 1,  "bookname":"Three Little Pig",  "AuthorName":"Steven Kellogg"  },  {  "id": 2,  "bookname":"Winnie The Pooh",  "AuthorName":"A. A. Milne"  }  ]  } }  

Эта часть-работа. Но я не знаю, как сделать фильтр для поиска в дополнительном списке , например, добавить дополнительный фильтр, где studentname. favourbooks ==»Три поросенка»

Может ли кто-нибудь посоветовать это ?

Спасибо