When using the object initializer syntax, any property that accepts IEnumerable<QueryContainer> (for example, BoolQuery.Must) is serialized with a null value per conditionless query.
Excerpt of an example query:
var request = new SearchRequest
{
Query = new BoolQuery
{
Must = new List<QueryContainer>
{
new QueryStringQuery
{
Query = someNotNullNotEmptyString
},
new QueryStringQuery
{
Query = someNullString
},
new QueryStringQuery
{
Query = someEmptyString
},
}
}
};
Excerpt of the example response:
{"must":[{"query_string":{"query":"some search terms"}},null,null]}
Expected:
{"must":[{"query_string":{"query":"some search terms"}}]}