public static SortDescriptor <Data.VZ.VerejnaZakazka> GetSort(int iorder) { VerejnaZakazkaSearchData.VZOrderResult order = (VerejnaZakazkaSearchData.VZOrderResult)iorder; SortDescriptor <Data.VZ.VerejnaZakazka> s = new SortDescriptor <Data.VZ.VerejnaZakazka>().Field(f => f.Field("_score").Descending()); switch (order) { case VerejnaZakazkaSearchData.VZOrderResult.DateAddedDesc: s = new SortDescriptor <Data.VZ.VerejnaZakazka>().Field(m => m.Field(f => f.DatumUverejneni).Descending()); break; case VerejnaZakazkaSearchData.VZOrderResult.DateAddedAsc: s = new SortDescriptor <Data.VZ.VerejnaZakazka>().Field(m => m.Field(f => f.DatumUverejneni).Ascending()); break; case VerejnaZakazkaSearchData.VZOrderResult.DateSignedDesc: s = new SortDescriptor <Data.VZ.VerejnaZakazka>().Field(m => m.Field(f => f.DatumUzavreniSmlouvy).Descending()); break; case VerejnaZakazkaSearchData.VZOrderResult.DateSignedAsc: s = new SortDescriptor <Data.VZ.VerejnaZakazka>().Field(m => m.Field(f => f.DatumUzavreniSmlouvy).Ascending()); break; case VerejnaZakazkaSearchData.VZOrderResult.PriceAsc: s = new SortDescriptor <Data.VZ.VerejnaZakazka>().Field(m => m.Field(f => f.KonecnaHodnotaBezDPH).Ascending()); break; case VerejnaZakazkaSearchData.VZOrderResult.PriceDesc: s = new SortDescriptor <Data.VZ.VerejnaZakazka>().Field(m => m.Field(f => f.KonecnaHodnotaBezDPH).Descending()); break; case VerejnaZakazkaSearchData.VZOrderResult.FastestForScroll: s = new SortDescriptor <Data.VZ.VerejnaZakazka>().Field(f => f.Field("_doc")); break; case VerejnaZakazkaSearchData.VZOrderResult.CustomerAsc: s = new SortDescriptor <Data.VZ.VerejnaZakazka>().Field(f => f.Field(ff => ff.Zadavatel.Jmeno).Ascending()); break; case VerejnaZakazkaSearchData.VZOrderResult.ContractorAsc: s = new SortDescriptor <Data.VZ.VerejnaZakazka>().Field(f => f.Field("dodavatele.jmeno").Ascending()); break; case VerejnaZakazkaSearchData.VZOrderResult.LastUpdate: s = new SortDescriptor <Data.VZ.VerejnaZakazka>().Field(f => f.Field("lastUpdated").Descending()); break; case VerejnaZakazkaSearchData.VZOrderResult.PosledniZmena: s = new SortDescriptor <Data.VZ.VerejnaZakazka>().Field(f => f.Field("posledniZmena").Descending()); break; case VerejnaZakazkaSearchData.VZOrderResult.Relevance: default: break; } return(s); }
public static Nest.ISearchResponse <VerejnaZakazka> RawSearch(string jsonQuery, int page, int pageSize, VerejnaZakazkaSearchData.VZOrderResult order = VerejnaZakazkaSearchData.VZOrderResult.Relevance, AggregationContainerDescriptor <VerejnaZakazka> anyAggregation = null ) { return(RawSearch(GetRawQuery(jsonQuery), page, pageSize, order, anyAggregation)); }
public static Nest.ISearchResponse <VerejnaZakazka> RawSearch(Nest.QueryContainer query, int page, int pageSize, VerejnaZakazkaSearchData.VZOrderResult order = VerejnaZakazkaSearchData.VZOrderResult.Relevance, AggregationContainerDescriptor <VerejnaZakazka> anyAggregation = null ) { page = page - 1; if (page < 0) { page = 0; } AggregationContainerDescriptor <VerejnaZakazka> baseAggrDesc = null; baseAggrDesc = anyAggregation == null ? null //new AggregationContainerDescriptor<VerejnaZakazka>().Sum("sumKc", m => m.Field(f => f.Castka)) : anyAggregation; Func <AggregationContainerDescriptor <VerejnaZakazka>, AggregationContainerDescriptor <VerejnaZakazka> > aggrFunc = (aggr) => { return(baseAggrDesc); }; var client = Lib.ES.Manager.GetESClient(); Indices indexes = client.ConnectionSettings.DefaultIndex; var res = client .Search <VerejnaZakazka>(s => s .Index(indexes) .Size(pageSize) .From(page * pageSize) .Query(q => query) //.Source(m => m.Excludes(e => e.Field(o => o.Prilohy))) .Sort(ss => GetSort((int)order)) .Aggregations(aggrFunc) ); if (res.IsValid == false) { Lib.ES.Manager.LogQueryError <VerejnaZakazka>(res); } //Audit.Add(Audit.Operations.Search, "", "", "VerejnaZakazka", res.IsValid ? "valid" : "invalid", query., null); return(res); }
public static SortDescriptor <Data.VZ.VerejnaZakazka> GetSort(string sorder) { VerejnaZakazkaSearchData.VZOrderResult order = VerejnaZakazkaSearchData.VZOrderResult.Relevance; Enum.TryParse <VerejnaZakazkaSearchData.VZOrderResult>(sorder, out order); return(GetSort(order)); }