Skip to content

Undesirable serialization of conditionless queries when using object initializer syntax #1817

Closed
@tuespetre

Description

@tuespetre

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"}}]}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions