4

I am able to populate QueryContainer with DateRangeQuery array as shown below

        QueryContainer marriageDateQuerys = null;

        if (!string.IsNullOrEmpty((item.marriage_date)))
            {
                DateRangeQuery query = new DateRangeQuery();
                query.Field = "marriages.marriage_date";
                query.Name = item.marriage_date;
                query.GreaterThanOrEqualTo = item.marriage_date;
                query.LessThanOrEqualTo = item.marriage_date;

                marriageDateQuerys &= query;
            }

But when I use QueryContainer to use MatchQuery/TermQuery to populate data it is not happening.

           QueryContainer marriageSpouseFirstNameQuerys = null;  


            if (!string.IsNullOrEmpty((item.spouse_first_name)))
            {
                MatchQuery query = new MatchQuery();
                query.Field = "marriages.spouse_first_name";
                query.Name = item.spouse_first_name;
                marriageSpouseFirstNameQuerys &= query;
            }

Query object is created in last if condition but marriageSpouseFirstNameQuerys is not populated with the same. I even tried marriageSpouseFirstNameQuerys += query; but without any success

Kevin Panko
  • 8,356
  • 19
  • 50
  • 61
Sushil
  • 442
  • 3
  • 10
  • 23

2 Answers2

5

Didn't try it but you can try something like this

              Query = new QueryContainer(new BoolQuery
                    {
                        Must = new List<QueryContainer>
                        {
                            new MatchQuery
                            {
                                //props
                            },
                            new TermQuery
                            {
                                Field = field
                                Value = value
                            },
                        }
                    })
eyildiz
  • 243
  • 4
  • 10
1

Below code worked for me after making changes with eyildiz answer

       if (!string.IsNullOrEmpty((item.spouse_last_name)))
                {
                    marriageSpouseLastNameQuery = new QueryContainer(
                        new MatchQuery
                        {
                            Field = "marriages.spouse_last_name",
                            Query = item.spouse_last_name
                        });
                    lstmarriageSpouseLastNameQuerys.Add(marriageSpouseLastNameQuery);
                }
Sushil
  • 442
  • 3
  • 10
  • 23