コード例 #1
0
        public IActionResult getOffField(STFilterRequestData _objReqData)
        {
            searchcricket sc = new searchcricket();
            List <SearchResultFilterData> obj = new List <SearchResultFilterData>();
            BoolQuery _objNestedBoolQuery     = new BoolQuery();

            if (_objReqData != null)
            {
                MatchDetail _objMatchDetail = _objReqData.MatchDetail;
                Moments     _objMomentsData = _objReqData.Moments;
                if (_objMomentsData != null)
                {
                    if (_objMomentsData.IsBigMoment || _objMomentsData.IsFunnyMoment || _objMomentsData.IsAudioPiece)
                    {
                        QueryContainer _objNestedBoolQueryFor2 = new QueryContainer();
                        _objNestedBoolQueryFor2 = sc.GetMatchDetailQueryST(_objNestedBoolQueryFor2, _objMatchDetail);
                        _objNestedBoolQueryFor2 = sc.GetS2MomentDetailQueryForST(_objMatchDetail, _objNestedBoolQueryFor2, _objMomentsData);
                        var result = EsClient.Search <SearchResultFilterData>(s => s.Index("cricket").Query(q => _objNestedBoolQueryFor2).Size(10000));
                        foreach (var hit in result.Hits)
                        {
                            obj.Add(new SearchResultFilterData
                            {
                                Description  = hit.Source.Description.ToString(),
                                MarkIn       = hit.Source.MarkIn.ToString(),
                                MarkOut      = hit.Source.MarkOut.ToString(),
                                ShotType     = hit.Source.MarkOut.ToString(),
                                DeliveryType = hit.Source.DeliveryType.ToString()
                            });
                        }
                    }
                }
            }
            return(Ok(new { results = obj }));
        }
コード例 #2
0
        public IActionResult getDeliveryTypeOnChange(STFilterRequestData _objReqData)
        {
            try
            {
                //List<QueryContainer> myDynamicMustQuery = new List<QueryContainer>();
                //var boolMustQuery = new BoolQuery();
                List <ddlValue>     obj      = new List <ddlValue>();
                HttpResponseMessage response = null;
                EsClient = oLayer.CreateConnection();
                List <ResponseResult> value = new List <ResponseResult>();
                searchcricket         sc    = new searchcricket();
                QueryContainer        _objNestedBoolQuery = new QueryContainer();
                if (_objReqData != null)
                {
                    MatchDetail _objMatchDetail = _objReqData.MatchDetail;
                    dynamic     _objS1Data      = _objReqData.S1Data;
                    _objNestedBoolQuery = sc.getCricketPlayerDetails(_objMatchDetail, _objNestedBoolQuery);
                }

                //QueryContainer q1 = new TermQuery { Field = "isTagged", Value = "1" };
                //QueryContainer q2 = new TermQuery { Field = "isAsset", Value = "0" };
                //QueryContainer q3 = new TermQuery { Field = "shotTypeId", Value = shotTypeId };

                //var q = new QueryContainer();
                //q &= q2;
                //q &= q1;
                //q &= q3;

                //myDynamicMustQuery.Add(q1);
                //myDynamicMustQuery.Add(q2);
                //myDynamicMustQuery.Add(q3);
                //boolMustQuery.Must = myDynamicMustQuery;

                var result = EsClient.Search <SearchCricketData>(a => a.Index("cricket").Size(0).Query(qs => _objNestedBoolQuery)
                                                                 .Aggregations(a1 => a1.Terms("my_terms_agg", t => t.Script(t1 => t1.Source("doc['deliveryType.keyword'].value + '|' + doc['deliveryTypeId.keyword'].value")).Size(802407))
                                                                               )
                                                                 );

                var agg = result.Aggregations.Terms("my_terms_agg").Buckets;


                foreach (var items in agg)
                {
                    obj.Add(new ddlValue
                    {
                        Id  = items.Key.ToString().Split("|")[1],
                        Key = items.Key.ToString().Split("|")[0]
                    });
                }
                return(Ok(new { results = obj }));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }
コード例 #3
0
        public IActionResult getSegments(STFilterRequestData _objReqData)
        {
            try
            {
                EsClient = oLayer.CreateConnection();
                List <SearchResultFilterData> obj = new List <SearchResultFilterData>();
                // var items="";
                STFilterRequestData objReqData      = new STFilterRequestData();
                searchcricket       sc              = new searchcricket();
                QueryContainer      _objNestedQuery = new QueryContainer();
                if (_objReqData != null)
                {
                    MatchDetail _objMatchDetail = _objReqData.MatchDetail;
                    dynamic     _objS1Data      = _objReqData.S1Data;
                    //Moments _objMomentsData = _objReqData.Moments;
                    if (_objMatchDetail != null)
                    {
                        //_objNestedBoolQuery = sc.GetMatchDetailQueryST(_objNestedBoolQuery, _objS1Data);
                        //System.Web.Script.Serialization.JavaScriptSerializer _objSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
                        string  jsonData = JsonConvert.SerializeObject(_objS1Data);
                        dynamic data     = JsonConvert.DeserializeObject(jsonData);
                        //SearchCricketData empObj = JsonConvert.DeserializeObject<SearchCricketData>(jsonData);
                        _objNestedQuery = sc.getCricketPlayerDetails(data, _objNestedQuery);
                        var result = EsClient.Search <SearchCricketData>(s => s.Index("cricket").Query(q => _objNestedQuery).Size(10000));

                        foreach (var hit in result.Hits)
                        {
                            obj.Add(new SearchResultFilterData
                            {
                                Description  = hit.Source.Description.ToString(),
                                MarkIn       = hit.Source.MarkIn.ToString(),
                                MarkOut      = hit.Source.MarkOut.ToString(),
                                ShotType     = hit.Source.MarkOut.ToString(),
                                DeliveryType = hit.Source.DeliveryType.ToString()
                            });
                        }
                    }
                }


                return(Ok(new { results = obj }));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message.ToString()));
            }
        }
コード例 #4
0
        public IActionResult postSegments(STFilterRequestData _objReqData)
        {
            try
            {
                List <ResponseResult> value = new List <ResponseResult>();
                searchcricket         sc    = new searchcricket();
                QueryContainer        _objNestedBoolQuery = new QueryContainer();
                // EsClient = oLayer.CreateConnection();
                if (_objReqData != null)
                {
                    MatchDetail _objMatchDetail = _objReqData.MatchDetail;
                    dynamic     _objS1Data      = _objReqData.S1Data;
                    Moments     _objMomentsData = _objReqData.Moments;
                    if (_objMatchDetail != null)
                    {
                        _objNestedBoolQuery = sc.GetMatchDetailQueryST(_objNestedBoolQuery, _objMatchDetail);
                    }
                    if (_objS1Data != null)
                    {
                        _objNestedBoolQuery = sc.getCricketPlayerDetails(_objS1Data, _objNestedBoolQuery);
                        _objNestedBoolQuery = sc.GetCricketMatchSituationQueryST(_objNestedBoolQuery, _objS1Data);
                        //_objSearchResults.ResultData = LSObject.SearchStoryTeller(_objNestedBoolQuery, _objMatchDetail);
                    }
                    if (_objMomentsData != null)
                    {
                        if (!string.IsNullOrEmpty(_objMomentsData.Entities) || _objMomentsData.IsBigMoment || _objMomentsData.IsFunnyMoment || _objMomentsData.IsAudioPiece)
                        {
                            QueryContainer _objNestedBoolQueryFor2 = new QueryContainer();
                            _objNestedBoolQueryFor2 = sc.GetMatchDetailQueryST(_objNestedBoolQueryFor2, _objMatchDetail);
                            _objNestedBoolQueryFor2 = sc.GetS2MomentDetailQueryForST(_objMatchDetail, _objNestedBoolQueryFor2, _objMomentsData);
                            // if (_objLstSearchQuery.Count > 3)///If the count is more than matchdetail query list (need to rethink)
                            //{
                            //    _objSearchResults2.ResultData = LuceneService.FetchSearchResultFilterData(_objNestedBoolQueryFor2, sportid, "s2");
                            //}
                        }
                    }
                }

                return(Ok(new { results = value }));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message.ToString()));
            }
        }
コード例 #5
0
        public IActionResult GetFilteredEntitiesBySport(SearchEntityRequestData _objReqData)
        {
            searchcricket           sc                 = new searchcricket();
            int                     _sportid           = 1;
            string                  result             = string.Empty;
            string                  searchtext         = string.Empty;
            List <SearchQueryModel> _objLstSearchQuery = new List <SearchQueryModel>();
            var                     responseResult     = new List <FilteredEntityForCricket>();
            SearchEntityRequestData _objEntityReqData;
            string                  jsonData = JsonConvert.SerializeObject(_objReqData);

            _objEntityReqData = JsonConvert.DeserializeObject <SearchEntityRequestData>(jsonData);

            if (_objEntityReqData != null)
            {
                EsClient = oLayer.CreateConnection();
                Dictionary <string, string> _columns = sc.GetColumnForEntity(_objEntityReqData.EntityTypeId);
                _sportid   = _objEntityReqData.SportId;
                searchtext = _objEntityReqData.EntityText.Trim().ToLower();
                MatchDetail _objMatchDetail = _objEntityReqData.MatchDetails;
                _objMatchDetail.SeriesId = _objEntityReqData.EntityTypeId != 5 ? _objMatchDetail.SeriesId : string.Empty;
                _objMatchDetail.MatchId  = _objEntityReqData.EntityTypeId != 9 ? _objMatchDetail.MatchId : string.Empty;

                if (_columns != null && _columns.Count > 0)
                {
                    KeyValuePair <string, string> _column = _columns.FirstOrDefault();
                    //Following query is to search the entire match detail
                    if (_columns.Count > 0)
                    {
                        {
                            List <string> EntityIds   = new List <string>();
                            List <string> EntityNames = new List <string>();
                            foreach (var col in _columns)
                            {
                                EntityIds.Add(col.Key);
                                EntityNames.Add(col.Value);
                            }
                            QueryContainer _objNestedQuery        = new QueryContainer();
                            QueryContainer _objNestedQueryRresult = new QueryContainer();
                            IEnumerable <FilteredEntityForCricket> _objFilteredEntityForCricket = new List <FilteredEntityForCricket>();

                            _objNestedQuery = sc.GetMatchDetailQueryST(_objNestedQuery, _objMatchDetail);
                            _objNestedQuery = sc.GetPlayerDetailQueryForFilteredEntityBySport(_objNestedQuery, _objEntityReqData.playerDetails, _objMatchDetail.SportID);//GetCricketPlayerDetailQuery(_objEntityReqData.playerDetails, _objNestedBoolQuery);
                            if (!string.IsNullOrEmpty(_objMatchDetail.MatchDate))
                            {
                                string dlist = _objMatchDetail.MatchDate;
                                if (dlist.Contains("-"))
                                {
                                    string[] strNumbers = dlist.Split('-');
                                    int      start      = int.Parse(DateTime.ParseExact(strNumbers[0], "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyyMMdd"));
                                    int      End        = int.Parse(DateTime.ParseExact(strNumbers[1], "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyyMMdd"));
                                    _objNestedQuery = sc.GetFilteredEntitiesBySport(_objMatchDetail, _objNestedQuery, "1", start, _columns, searchtext);
                                }
                                else
                                {
                                    int date = int.Parse(DateTime.ParseExact(_objMatchDetail.MatchDate, "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyyMMdd"));
                                    _objNestedQuery = sc.GetFilteredEntitiesBySport(_objMatchDetail, _objNestedQuery, "2", date, _columns, searchtext);
                                }
                            }
                            //if (_objEntityReqData.EntityTypeId == 5)
                            //{
                            //    var s1 = _objFilteredEntityForCricket.Select(d => new { EntityId = d.GetType().GetProperty(EntityIds.ElementAt(1)).GetValue(d, null), EntityName = d.GetType().GetProperty(EntityNames.ElementAt(1)).GetValue(d, null), IsParentSeries = 1 }).Distinct().ToList();
                            //    var s2 = _objFilteredEntityForCricket.Select(d => new { EntityId = d.GetType().GetProperty(EntityIds.ElementAt(0)).GetValue(d, null), EntityName = d.GetType().GetProperty(EntityNames.ElementAt(0)).GetValue(d, null), IsParentSeries = 0 }).Distinct().ToList();
                            //    var s = s1.Union(s2).Where(r => r.EntityName.ToString() != "" && r.EntityName.ToString().ToLower().Contains(searchtext)).Distinct().OrderBy(r => r.EntityName);
                            //    //result = _objSerializer.Serialize(s);

                            //}
                            //if (_objEntityReqData.EntityTypeId == 3 || _objEntityReqData.EntityTypeId == 4)
                            //{
                            //    var s1 = _objFilteredEntityForCricket.Select(t => new { EntityId = t.Team1Id, EntityName = t.Team1 }).Distinct();
                            //    var s2 = _objFilteredEntityForCricket.Select(t => new { EntityId = t.Team2Id, EntityName = t.Team2 }).Distinct();
                            //    var s = s1.Union(s2).Where(r => r.EntityName.ToString() != "" && r.EntityName.ToLower().Contains(searchtext)).Distinct().OrderBy(r => r.EntityName);
                            //    //result = _objSerializer.Serialize(s);


                            //}
                            //else
                            if (searchtext != "")
                            {
                                //sc.GetFilteredEntitiesBySportResult(_objNestedQuery, EntityIds.ElementAt(0), EntityNames.ElementAt(0),EsClient);
                                //var s = _objFilteredEntityForCricket.Select(d => new { EntityId = d.GetType().GetProperty(EntityIds.ElementAt(0)).GetValue(d, null), EntityName = d.GetType().GetProperty(EntityNames.ElementAt(0)).GetValue(d, null) }).Distinct();
                                var Result = sc.GetFilteredEntitiesBySportResult(_objNestedQuery, EntityIds.ElementAt(0), EntityNames.ElementAt(0), EsClient, searchtext);
                                //result = _objSerializer.Serialize(Result);
                                responseResult = Result;
                            }
                            _objFilteredEntityForCricket = null;
                        }
                    }
                }
            }
            return(Ok(new { responseText = responseResult }));
        }
コード例 #6
0
        public IActionResult GetSearchResultsFilter(STFilterRequestData _objReqData)
        {
            ExtendedSearchResultFilterData _objSearchResults  = new ExtendedSearchResultFilterData();
            ExtendedSearchResultFilterData _objSearchResults2 = new ExtendedSearchResultFilterData();
            ExtendedSearchResultFilterData _objResult         = new ExtendedSearchResultFilterData();
            searchcricket sc = new searchcricket();

            _objResult.ResultData               = new List <SearchResultFilterData>();
            _objSearchResults2.ResultData       = new List <SearchResultFilterData>();
            _objSearchResults.ResultData        = new List <SearchResultFilterData>();
            _objResult.Master                   = new MasterDatas();
            _objResult.Master.MasterData        = new Dictionary <string, object>();
            _objSearchResults.Master            = new MasterDatas();
            _objSearchResults.Master.MasterData = new Dictionary <string, object>();
            QueryContainer _objNestedQuery   = new QueryContainer();
            QueryContainer _objCricketResult = new QueryContainer();

            if (_objReqData != null)
            {
                MatchDetail    _objMatchDetail    = _objReqData.MatchDetail;
                int            sportid            = _objMatchDetail.SportID;
                dynamic        _objS1Data         = _objReqData.S1Data;
                MatchSituation _objMatchSituation = _objReqData.MatchSituation;
                Moments        _objMomentsData    = _objReqData.Moments;
                if (_objMatchDetail != null)
                {
                    _objNestedQuery = sc.GetMatchDetailQueryST(_objNestedQuery, _objMatchDetail);
                }
                if (_objS1Data != null)
                {
                    if ("CRICKET" == sc.getType(sportid))
                    {
                        IEnumerable <SearchResultFilterData> _objSearchResultsFilterData = new List <SearchResultFilterData>();
                        //_objNestedQuery = sc.getCricketPlayerDetails( _objS1Data, _objNestedQuery);
                        //_objNestedQuery = sc.GetCricketMatchSituationQueryST(_objNestedQuery, _objMatchSituation);
                        //_objSearchResults.ResultData = LSObject.SearchStoryTeller(_objNestedBoolQuery, _objMatchDetail);
                        if (!_objMatchDetail.IsAsset)
                        {
                            Cricket objCs = new Cricket();
                            EsClient = oLayer.CreateConnection();
                            //_objCricketResult = sc.GetMatchDetailQueryST(_objCricketResult, _objMatchDetail);
                            _objCricketResult = sc.getCricketPlayerDetails(_objS1Data, _objNestedQuery);
                            _objCricketResult = sc.GetCricketMatchSituationQueryST(_objNestedQuery, _objMatchSituation);
                            CommonFunction            cf    = new CommonFunction();
                            GetSearchS1DataForCricket sqObj = new GetSearchS1DataForCricket();
                            //string value = sqObj.GetKeyValueForSport(sc.getType(sportid), "DropdwonKey");
                            QueryContainer queryShould     = new QueryContainer();
                            QueryContainer queryAnd        = new QueryContainer();
                            QueryContainer queryAnd_should = new QueryContainer();
                            //List<string> valueObj = sqObj.GetKeyValueForSportTemp(sc.getType(sportid), "PlayerDetails");
                            //string[] valuessObj = valueObj.ToList();
                            //for (int i = 0; i <= valueObj.Count-1; i++)
                            //{
                            //    string sType = valueObj[i].Split(",")[1];
                            //    if (sType == "Boolean") {
                            //        if (Convert.ToBoolean(_objS1Data[valueObj[i].Split(":")[1].Split(",")[0]]))
                            //        {
                            //            QueryContainer query1 = new TermQuery { Field = valueObj[i].Split(",")[2], Value = "1" };
                            //            queryShould |= query1;
                            //        }
                            //    }
                            //    if (sType == "string") {
                            //        if (Convert.ToString(_objS1Data[valueObj[i].Split(":")[1]]) != "")
                            //        {
                            //            string slist = Convert.ToString(_objS1Data[valueObj[i].Split(",")[0].Split(":")[1]]);
                            //            if (slist.Contains(","))
                            //            {
                            //                string[] strArray = slist.Split(',');
                            //                foreach (string str in strArray)
                            //                {
                            //                    QueryContainer query9 = new TermQuery { Field = valueObj[i].Split(",")[2], Value = str };
                            //                    queryShould |= query9;
                            //                }
                            //            }
                            //            else {
                            //                QueryContainer query10 = new TermQuery { Field = valueObj[i].Split(",")[2], Value = Convert.ToString(_objS1Data[valueObj[i].Split(",")[0].Split(":")[1]]) };
                            //                queryAnd &= query10;

                            //            }
                            //        }

                            //        }
                            //    if (valueObj[i].Split(":")[0] == "OR") {
                            //        queryAnd_should &= queryShould;
                            //    }

                            //}
                            //queryAnd &= queryAnd_should;

                            //string[] valuess = value.Split(",");
                            //foreach (var items in valuess)
                            //{
                            //    var item = items.Split("::");
                            //    string Type = _objS1Data[item[0]];
                            //    string[] _objType = Type.Contains(",") ? _objType = Type.Split(",") : _objType = new string[] { Type };
                            //    _objSearchResults.Master.MasterData = objCs.fetchDropdowns(_objNestedQuery, _objSearchResults.Master.MasterData, EsClient, "cricket", cf.GetColumnForEntity(Convert.ToInt16(item[1])), _objType);
                            //}

                            //if (!string.IsNullOrEmpty(_objMatchSituation.Innings))
                            //{
                            //    List<FilteredEntityData> obj2 = new List<FilteredEntityData>();
                            //    Dictionary<string, object> objInning = new Dictionary<string, object>();
                            //    string[] _objReqInnings = _objMatchSituation.Innings.Contains(",") ? _objReqInnings = _objMatchSituation.Innings.Split(',') : _objReqInnings = new string[] { _objMatchSituation.Innings };

                            //    for (int i = 1; i <= 2; i++)
                            //    {
                            //        obj2.Add(new FilteredEntityData
                            //        {
                            //            EntityId = i.ToString(),
                            //            EntityName = i.ToString(),
                            //            IsSelectedEntity = _objReqInnings.Contains(i.ToString()) ? 1 : 0
                            //        });
                            //    }
                            //    objInning.Add("Innings", obj2);
                            //     _objSearchResults.Master.MasterData = objInning;
                            //}


                            string[] _objReqInnings      = _objMatchSituation.Innings.Contains(",") ? _objReqInnings = _objMatchSituation.Innings.Split(',') : _objReqInnings = new string[] { _objMatchSituation.Innings };
                            string   ReqShotType         = _objS1Data["ShotType"];
                            string   ReqDeliveryType     = _objS1Data["DeliveryType"];
                            string[] _objReqShotType     = ReqShotType.Contains(",") ? _objReqShotType = ReqShotType.Split(",") : _objReqShotType = new string[] { _objS1Data["ShotType"] };
                            string[] _objReqDeliveryType = ReqDeliveryType.Contains(",") ? _objReqDeliveryType = ReqDeliveryType.Split(",") : _objReqDeliveryType = new string[] { _objS1Data["DeliveryType"] };
                            _objSearchResults.Master.MasterData = sc.parseDropdown(_objCricketResult, _objResult.Master.MasterData, EsClient, _objReqInnings, _objReqShotType, _objReqDeliveryType);
                            _objResult.ResultData        = sc.getSegementsData(EsClient, _objCricketResult);
                            _objSearchResults.ResultData = _objResult.ResultData;
                        }
                        else
                        {
                            _objNestedQuery = sc.getCricketPlayerDetails(_objS1Data, _objNestedQuery);
                            _objNestedQuery = sc.GetCricketMatchSituationQueryST(_objNestedQuery, _objMatchSituation);
                        }
                        if (_objMomentsData != null)
                        {
                            if (!string.IsNullOrEmpty(_objMomentsData.Entities) || _objMomentsData.IsBigMoment || _objMomentsData.IsFunnyMoment || _objMomentsData.IsAudioPiece)
                            {
                                QueryContainer _objNestedBoolQueryFor2 = new QueryContainer();
                                _objNestedBoolQueryFor2       = sc.GetMatchDetailQueryST(_objNestedBoolQueryFor2, _objMatchDetail);
                                _objNestedBoolQueryFor2       = sc.GetS2MomentDetailQueryForST(_objMatchDetail, _objNestedBoolQueryFor2, _objMomentsData);
                                _objSearchResults2.ResultData = sc.getSegementsData(EsClient, _objNestedBoolQueryFor2);
                            }
                            _objResult.ResultData = _objSearchResults.ResultData.Union(_objSearchResults2.ResultData);
                        }
                    }
                }
            }

            return(Ok(new { responseText = _objSearchResults }));
        }
コード例 #7
0
        public IActionResult getShotTypeOnChange(STFilterRequestData _objReqData)
        {
            try
            {
                List <ResponseResult> value = new List <ResponseResult>();
                searchcricket         sc    = new searchcricket();
                QueryContainer        _objNestedBoolQuery = new QueryContainer();
                if (_objReqData != null)
                {
                    MatchDetail _objMatchDetail = _objReqData.MatchDetail;
                    dynamic     _objS1Data      = _objReqData.S1Data;
                    _objNestedBoolQuery = sc.getCricketPlayerDetails(_objMatchDetail, _objNestedBoolQuery);
                }
                //List<QueryContainer> myDynamicMustQuery = new List<QueryContainer>();
                //List<QueryContainer> myDynamicShouldQuery = new List<QueryContainer>();
                //var boolMustQuery = new BoolQuery();
                List <ddlValue>     obj      = new List <ddlValue>();
                HttpResponseMessage response = null;
                EsClient = oLayer.CreateConnection();
                //QueryContainer q1 = new TermQuery { Field = "isTagged", Value = "1" };
                //QueryContainer q2 = new TermQuery { Field = "isAsset", Value = "0" };

                //QueryContainer q3 = new TermQuery { Field = "isFour", Value = "1" };
                //QueryContainer q4 = new TermQuery { Field = "isSix", Value = "1" };
                //QueryContainer q5 = new TermQuery { Field = "isWicket", Value = "1" };
                //QueryContainer q6 = new TermQuery { Field = "isAppeal", Value = "1" };
                //QueryContainer q7 = new TermQuery { Field = "isDropped", Value = "1" };
                //QueryContainer q8 = new TermQuery { Field = "isMisField", Value = "1" };


                //QueryContainer q12 = new TermQuery { Field = "deliveryTypeId", Value = deliveryTypeId };
                //QueryContainer q9 = new TermQuery { Field = "clearId.keyword", Value = "HDP000015411--20160224094449152--CS--1014" };
                ////var q = new QueryContainer();
                ////q &= q2;
                ////q &= q1;
                ////q &= q3;

                //myDynamicMustQuery.Add(q1);
                //myDynamicMustQuery.Add(q2);
                //myDynamicMustQuery.Add(q9);
                //QueryContainer qs= q3 |= q4|=q5 |=q6|=q7|=q8;
                //myDynamicShouldQuery.Add(q4);
                //myDynamicShouldQuery.Add(q5);
                //myDynamicShouldQuery.Add(q6);
                //myDynamicShouldQuery.Add(q7);
                //myDynamicShouldQuery.Add(q8);


                //QueryContainer qr = q1 &= q2 &= q9 &= q12;//&= qs;
                //boolMustQuery.Should = myDynamicShouldQuery;
                var result = EsClient.Search <SearchCricketData>(a => a.Index("cricket").Size(0).Query(s => _objNestedBoolQuery)
                                                                 .Aggregations(a1 => a1.Terms("my_terms_agg", t => t.Script(t1 => t1.Source("doc['shotType.keyword'].value + '|' + doc['shotTypeId.keyword'].value")).Size(802407))
                                                                               )
                                                                 );
                var agg = result.Aggregations.Terms("my_terms_agg").Buckets;
                foreach (var items in agg)
                {
                    obj.Add(new ddlValue
                    {
                        Id  = items.Key.ToString().Split("|")[1],
                        Key = items.Key.ToString().Split("|")[0]
                    });
                }
                return(Ok(new { results = obj }));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }