Beispiel #1
0
        public static SmlouvaSearchResult Search(QueryContainer query, int page, int pageSize, OrderResult order,
                                                 AggregationContainerDescriptor <Lib.Data.Smlouva> anyAggregation = null,
                                                 int?platnyZaznam = null, bool includeNeplatne = false, bool logError = true, bool fixQuery = true)
        {
            var result = new SmlouvaSearchResult()
            {
                Page      = page,
                PageSize  = pageSize,
                OrigQuery = "",
                Q         = "",
                Order     = ((int)order).ToString()
            };

            ISearchResponse <Lib.Data.Smlouva> res =
                _coreSearch(query, page, pageSize, order, anyAggregation, platnyZaznam,
                            includeNeplatne, logError);

            if (res.IsValid == false && logError)
            {
                Lib.ES.Manager.LogQueryError <Lib.Data.Smlouva>(res, query.ToString());
            }


            result.Total          = res?.Total ?? 0;
            result.IsValid        = res?.IsValid ?? false;
            result.ElasticResults = res;
            return(result);
        }
Beispiel #2
0
        public static SmlouvaSearchResult SimpleSearch(string query, int page, int pageSize, OrderResult order,
                                                       AggregationContainerDescriptor <Lib.Data.Smlouva> anyAggregation = null,
                                                       int?platnyZaznam = null, bool includeNeplatne = false, bool logError = true, bool fixQuery = true)
        {
            var result = new SmlouvaSearchResult()
            {
                Page      = page,
                PageSize  = pageSize,
                OrigQuery = query,
                Q         = query,
                Order     = ((int)order).ToString()
            };

            if (string.IsNullOrEmpty(query))
            {
                result.Result  = null;
                result.IsValid = false;
                result.Total   = 0;
                return(result);
            }

            Devmasters.Core.StopWatchEx sw = new Devmasters.Core.StopWatchEx();
            sw.Start();

            if (fixQuery)
            {
                query    = FixInvalidQuery(query);
                result.Q = query;
            }
            if (logError && result.Q != result.OrigQuery)
            {
                HlidacStatu.Util.Consts.Logger.Debug(new Devmasters.Core.Logging.LogMessage()
                                                     .SetMessage("Fixed query")
                                                     .SetCustomKeyValue("runningQuery", result.Q)
                                                     .SetCustomKeyValue("origQuery", result.OrigQuery)
                                                     );
            }

            if (platnyZaznam.HasValue)
            {
                query = ModifyQuery(query, "platnyZaznam:" + platnyZaznam.Value);
            }


            ISearchResponse <Lib.Data.Smlouva> res =
                _coreSearch(GetSimpleQuery(query), page, pageSize, order, anyAggregation, platnyZaznam,
                            includeNeplatne, logError);

            if (res.IsValid == false && logError)
            {
                Lib.ES.Manager.LogQueryError <Lib.Data.Smlouva>(res, query);
            }

            sw.Stop();

            result.ElapsedTime = sw.Elapsed;

            result.Total          = res?.Total ?? 0;
            result.IsValid        = res?.IsValid ?? false;
            result.ElasticResults = res;
            return(result);
        }