Ejemplo n.º 1
0
        public QueryContainer GetSimpleQuery(DotaceSearchResult searchdata)
        {
            var query = searchdata.Q;

            //fix field prefixes
            //ds: ->
            Lib.Searching.Rule[] rules = new Lib.Searching.Rule[] {
                new Lib.Searching.Rule(@"osobaid:(?<q>((\w{1,} [-]{1} \w{1,})([-]{1} \d{1,3})?)) ", "ico"),
                new Lib.Searching.Rule(@"holding:(?<q>(\d{1,8})) (\s|$){1,}", "ico"),
                new Lib.Searching.Rule(@"ico:", "prijemce.ico:"),
                new Lib.Searching.Rule("jmeno:", "prijemce.jmenoPrijemce:"),
                new Lib.Searching.Rule("projekt:", "nazevProjektu:"),
                new Lib.Searching.Rule("castka:", "dotaceCelkem:"),
                //new Lib.Search.Rule("id:","idDotace:"),
            };

            IRule[] irules = new IRule[] {
                new OsobaId("osobaid:", "ico:"),
                //new Holding("holdingprijemce:","prijemceIco:" ),
                //new Holding("holdingplatce:","icoplatce:" ),
                //new Holding("holdingdodavatel:","icoprijemce:" ),
                //new Holding("holdingzadavatel:","icoplatce:" ),
                new Holding(null, "ico:"),

                new TransformPrefix("ico:", "prijemce.ico:", null),
                new TransformPrefix("jmeno:", "prijemce.jmenoPrijemce:", null),
                new TransformPrefix("projekt:", "nazevProjektu:", null),
                new TransformPrefix("castka:", "dotaceCelkem:", null),
                //new TransformPrefix("id:","idDotace:",null ),
            };


            string modifiedQ = query; // Search.Tools.FixInvalidQuery(query, queryShorcuts, queryOperators) ?? "";

            //check invalid query ( tag: missing value)

            if (searchdata.LimitedView)
            {
                modifiedQ = Lib.Searching.Tools.ModifyQueryAND(modifiedQ, "onRadar:true");
            }

            //var qc  = Lib.Search.Tools.GetSimpleQuery<Lib.Data.Smlouva>(query,rules);;
            var qc = Lib.Searching.SimpleQueryCreator.GetSimpleQuery <Lib.Data.Dotace.Dotace>(query, irules);

            return(qc);
        }
Ejemplo n.º 2
0
            public static QueryContainer GetSimpleQuery(VerejnaZakazkaSearchData searchdata)
            {
                Lib.Searching.Rule[] rules = new Lib.Searching.Rule[] {
                    new Lib.Searching.Rule(@"osobaid:(?<q>((\w{1,} [-]{1} \w{1,})([-]{1} \d{1,3})?)) ", "ico"),
                    new Lib.Searching.Rule(@"osobaiddodavatel:(?<q>((\w{1,} [-]{1} \w{1,})([-]{1} \d{1,3})?)) ", "icododavatel"),
                    new Lib.Searching.Rule(@"osobaidzadavatel:(?<q>((\w{1,} [-]{1} \w{1,})([-]{1} \d{1,3})?)) ", "icododavatel"),

                    new Lib.Searching.Rule(@"holding:(?<q>(\d{1,8})) ", "ico"),
                    new Lib.Searching.Rule(@"holdingdodavatel:(?<q>(\d{1,8})) ", "icododavatel"),
                    new Lib.Searching.Rule(@"holdingzadavatel:(?<q>(\d{1,8})) ", "icozadavatel"),
                    new Lib.Searching.Rule(@"holdingprijemce:(?<q>(\d{1,8})) ", "icododavatel"),
                    new Lib.Searching.Rule(@"holdingplatce:(?<q>(\d{1,8})) ", "icozadavatel"),

                    new Lib.Searching.Rule("cpv:", "${cpv}"),
                    new Lib.Searching.Rule("oblast:", "${oblast}"),
                    new Lib.Searching.Rule("form:", "${form}"),
                    new Lib.Searching.Rule("zahajeny:1", "stavVZ:<=100"),
                    new Lib.Searching.Rule("ico:", "(zadavatel.iCO:${q} OR dodavatele.iCO:${q}) "),
                    new Lib.Searching.Rule("icododavatel:", "dodavatele.iCO:"),
                    new Lib.Searching.Rule("icoprijemce:", "dodavatele.iCO:"),
                    new Lib.Searching.Rule("icozadavatel:", "zadavatel.iCO:"),
                    new Lib.Searching.Rule("icoplatce:", "zadavatel.iCO:"),
                    new Lib.Searching.Rule("jmenoprijemce:", "dodavatele.jmeno:"),
                    new Lib.Searching.Rule("jmenoplatce:", "zadavatel.jmeno:"),
                    new Lib.Searching.Rule("id:", "id:"),
                    new Lib.Searching.Rule("popis:", "(nazevZakazky:${q} OR popisZakazky:${q}) "),
                    new Lib.Searching.Rule("cena:<=", "(konecnaHodnotaBezDPH:<=${q} OR odhadovanaHodnotaBezDPH:<=${q}) "),
                    new Lib.Searching.Rule("cena:>=", "(konecnaHodnotaBezDPH:>=${q} OR odhadovanaHodnotaBezDPH:>=${q}) "),
                    new Lib.Searching.Rule("cena:<", "(konecnaHodnotaBezDPH:<${q} OR odhadovanaHodnotaBezDPH:<${q}) "),
                    new Lib.Searching.Rule("cena:>", "(konecnaHodnotaBezDPH:>${q} OR odhadovanaHodnotaBezDPH:>${q}) "),
                    new Lib.Searching.Rule("cena:", "(konecnaHodnotaBezDPH:${q} OR odhadovanaHodnotaBezDPH:${q}) "),
                    new Lib.Searching.Rule("zverejneno:\\[", "datumUverejneni:["),
                    new Lib.Searching.Rule("zverejneno:(?=[<>])", "datumUverejneni:${q}"),
                    new Lib.Searching.Rule("zverejneno:(?=\\d)", "datumUverejneni:[${q} TO ${q}||+1d]"),
                    new Lib.Searching.Rule("podepsano:\\[", "datumUzavreniSmlouvy:["),
                    new Lib.Searching.Rule("podepsano:(?=[<>])", "datumUzavreniSmlouvy:${q}"),
                    new Lib.Searching.Rule("podepsano:(?=\\d)", "datumUzavreniSmlouvy:[${q} TO ${q}||+1d]"),
                    new Lib.Searching.Rule("text:", "prilohy.plainTextContent:"),
                };

                IRule[] irules = new IRule[] {
                    new OsobaId("osobaid:", "ico:"),
                    new OsobaId("osobaiddodavatel:", "icododavatel:"),
                    new OsobaId("osobaidzadavatel:", "icozadavatel:"),

                    new Holding("holding:", "ico:"),
                    new Holding("holdingdodavatel:", "icododavatel:"),
                    new Holding("holdingzadavatel:", "icozadavatel:"),
                    new Holding("holdingprijemce:", "icododavatel:"),
                    new Holding("holdingplatce:", "icozadavatel:"),

                    new VZ_CPV(),
                    new VZ_Oblast(),
                    new VZ_Form(),

                    new TransformPrefixWithValue("zahajeny:", "stavVZ:<=100", "1"),


                    new TransformPrefixWithValue("ico:", "(zadavatel.iCO:${q} OR dodavatele.iCO:${q}) ", null),
                    new TransformPrefix("icododavatel:", "dodavatele.iCO:", null),
                    new TransformPrefix("icoprijemce:", "dodavatele.iCO:", null),
                    new TransformPrefix("icozadavatel:", "zadavatel.iCO:", null),
                    new TransformPrefix("icoplatce:", "zadavatel.iCO:", null),
                    new TransformPrefix("jmenoprijemce:", "dodavatele.jmeno:", null),
                    new TransformPrefix("jmenoplatce:", "zadavatel.jmeno:", null),
                    new TransformPrefix("id:", "id:", null),

                    new TransformPrefixWithValue("popis:", "(nazevZakazky:${q} OR popisZakazky:${q})  ", null),

                    new TransformPrefixWithValue("cena:", "(konecnaHodnotaBezDPH:<=${q} OR odhadovanaHodnotaBezDPH:<=${q}) ", "<=\\d"),
                    new TransformPrefixWithValue("cena:", "(konecnaHodnotaBezDPH:>=${q} OR odhadovanaHodnotaBezDPH:>=${q}) ", ">=\\d"),
                    new TransformPrefixWithValue("cena:", "(konecnaHodnotaBezDPH:<${q} OR odhadovanaHodnotaBezDPH:<${q}) ", "<\\d"),
                    new TransformPrefixWithValue("cena:", "(konecnaHodnotaBezDPH:>${q} OR odhadovanaHodnotaBezDPH:>${q}) ", ">\\d"),
                    new TransformPrefixWithValue("cena:", "(konecnaHodnotaBezDPH:${q} OR odhadovanaHodnotaBezDPH:${q}) ", null),


                    new TransformPrefix("zverejneno:", "datumUverejneni:", "[<>]?[{\\[]+"),
                    new TransformPrefixWithValue("zverejneno:", "datumUverejneni:[${q} TO ${q}||+1d]", "\\d+"),
                    new TransformPrefix("podepsano:", "datumUzavreniSmlouvy:", "[<>]?[{\\[]+"),
                    new TransformPrefixWithValue("podepsano:", "datumUzavreniSmlouvy:[${q} TO ${q}||+1d]", "\\d+"),

                    new TransformPrefix("text:", "prilohy.plainTextContent:", null),
                };

                var    query     = searchdata.Q?.Trim();
                string modifiedQ = query; // Search.Tools.FixInvalidQuery(query, queryShorcuts, queryOperators) ?? "";

                //check invalid query ( tag: missing value)


                if (searchdata.Zahajeny)
                {
                    modifiedQ = Lib.Searching.Tools.ModifyQueryAND(modifiedQ, "zahajeny:1");
                }

                if (!string.IsNullOrWhiteSpace(searchdata.Oblast))
                {
                    var oblValue = NormalizeOblastValue(searchdata.Oblast);
                    if (!string.IsNullOrEmpty(oblValue))
                    {
                        modifiedQ = Lib.Searching.Tools.ModifyQueryAND(modifiedQ, "oblast:" + oblValue);
                    }
                }


                //var qc = Lib.Search.Tools.GetSimpleQuery<Lib.Data.VZ.VerejnaZakazka>(modifiedQ, rules); ;
                //var qc = Lib.Search.SimpleQueryCreator.GetSimpleQuery<Lib.Data.VZ.VerejnaZakazka>(query, irules);
                var qc = Lib.Searching.SimpleQueryCreator.GetSimpleQuery <Lib.Data.VZ.VerejnaZakazka>(modifiedQ, irules);

                return(qc);
            }
Ejemplo n.º 3
0
        public static QueryContainer GetSimpleQuery(InsolvenceSearchResult searchdata)
        {
            var query = searchdata.Q;


            //fix field prefixes
            //ds: ->
            Lib.Searching.Rule[] rules = new Lib.Searching.Rule[] {
                new Lib.Searching.Rule(@"osobaid:(?<q>((\w{1,} [-]{1} \w{1,})([-]{1} \d{1,3})?)) ", "ico"),
                new Lib.Searching.Rule(@"osobaiddluznik:(?<q>((\w{1,} [-]{1} \w{1,})([-]{1} \d{1,3})?)) ", "icodluznik"),
                new Lib.Searching.Rule(@"osobaidveritel:(?<q>((\w{1,} [-]{1} \w{1,})([-]{1} \d{1,3})?)) ", "icoveritel"),
                new Lib.Searching.Rule(@"osobaidspravce:(?<q>((\w{1,} [-]{1} \w{1,})([-]{1} \d{1,3})?)) ", "icospravce"),

                new Lib.Searching.Rule(@"holding:(?<q>(\d{1,8})) (\s|$){1,}", "ico"),
                new Lib.Searching.Rule(@"holdindluznik:(?<q>(\d{1,8})) (\s|$){1,}", "icodluznik"),
                new Lib.Searching.Rule(@"holdingveritel:(?<q>(\d{1,8})) (\s|$){1,}", "icoveritel"),
                new Lib.Searching.Rule(@"holdingspravce:(?<q>(\d{1,8})) (\s|$){1,}", "icospravce"),

                new Lib.Searching.Rule("ico:", "(dluznici.iCO:${q} OR veritele.iCO:${q} OR spravci.iCO:${q}) "),
                new Lib.Searching.Rule("icodluznik:", "dluznici.iCO:"),
                new Lib.Searching.Rule("icoveritel:", "veritele.iCO:"),
                new Lib.Searching.Rule("icospravce:", "spravci.iCO:"),
                new Lib.Searching.Rule("jmeno:", "(dluznici.plneJmeno:${q} OR veritele.plneJmeno:${q} OR spravci.plneJmeno:${q})"),
                new Lib.Searching.Rule("jmenodluznik:", "dluznici.plneJmeno:"),
                new Lib.Searching.Rule("jmenoveritel:", "veritele.plneJmeno:"),
                new Lib.Searching.Rule("jmenospravce:", "spravci.plneJmeno:"),
                new Lib.Searching.Rule("spisovaznacka:", "spisovaZnacka:"),
                new Lib.Searching.Rule("id:", "spisovaZnacka:"),
                new Lib.Searching.Rule("zmeneno:\\[", "posledniZmena:["),
                new Lib.Searching.Rule("zmeneno:(?=[<>])", "posledniZmena:${q}"),
                new Lib.Searching.Rule("zmeneno:(?=\\d)", "posledniZmena:[${q} TO ${q}||+1d}"),
                new Lib.Searching.Rule("zahajeno:\\[", "datumZalozeni:["),
                new Lib.Searching.Rule("zahajeno:(?=[<>])", "datumZalozeni:${q}"),
                new Lib.Searching.Rule("zahajeno:(?=\\d)", "datumZalozeni:[${q} TO ${q}||+1d}"),
                new Lib.Searching.Rule("stav:", "stav:"),
                new Lib.Searching.Rule("text:", "dokumenty.plainText:"),
                new Lib.Searching.Rule("texttypdokumentu:", "dokumenty.popis:"),
                new Lib.Searching.Rule("typdokumentu:", "dokumenty.typUdalosti:"),
                new Lib.Searching.Rule("oddil:", "dokumenty.oddil:"),
            };

            IRule[] irules = new IRule[] {
                new OsobaId("osobaid:", "ico:"),
                new OsobaId("osobaiddluznik:", "icodluznik:"),
                new OsobaId("osobaidveritel:", "icoveritel:"),
                new OsobaId("osobaidspravce:", "icospravce:"),

                new Holding("holding:", "ico:"),
                new Holding("holdindluznik:", "icoplatce:"),
                new Holding("holdingveritel:", "icoveritel:"),
                new Holding("holdingspravce:", "icospravce:"),

                new TransformPrefixWithValue("ico:", "(dluznici.iCO:${q} OR veritele.iCO:${q} OR spravci.iCO:${q}) ", null),
                new TransformPrefixWithValue("jmeno:", "(dluznici.plneJmeno:${q} OR veritele.plneJmeno:${q} OR spravci.plneJmeno:${q})", null),

                new TransformPrefix("icodluznik:", "dluznici.iCO:", null),
                new TransformPrefix("icoveritel:", "veritele.iCO:", null),
                new TransformPrefix("icospravce:", "spravci.iCO:", null),
                new TransformPrefix("jmenodluznik:", "dluznici.plneJmeno:", null),
                new TransformPrefix("jmenoveritel:", "veritele.plneJmeno:", null),
                new TransformPrefix("jmenospravce:", "spravci.plneJmeno:", null),
                new TransformPrefix("spisovaznacka:", "spisovaZnacka:", null),
                new TransformPrefix("id:", "spisovaZnacka:", null),

                new TransformPrefix("zmeneno:", "posledniZmena:", "[<>]?[{\\[]+"),
                new TransformPrefixWithValue("zmeneno:", "posledniZmena:[${q} TO ${q}||+1d}", "\\d+"),
                new TransformPrefix("zahajeno:", "datumZalozeni:", "[<>]?[{\\[]+"),
                new TransformPrefixWithValue("zahajeno:", "datumZalozeni:[${q} TO ${q}||+1d}", "\\d+"),

                new TransformPrefix("stav:", "stav:", null),
                new TransformPrefix("text:", "dokumenty.plainText:", null),
                new TransformPrefix("texttypdokumentu:", "dokumenty.popis:", null),
                new TransformPrefix("typdokumentu:", "dokumenty.typUdalosti:", null),
                new TransformPrefix("oddil:", "dokumenty.oddil:", null),
            };


            string modifiedQ = query; // Search.Tools.FixInvalidQuery(query, queryShorcuts, queryOperators) ?? "";

            //check invalid query ( tag: missing value)

            if (searchdata.LimitedView)
            {
                modifiedQ = Lib.Searching.Query.ModifyQueryAND(modifiedQ, "onRadar:true");
            }

            //var qc = Lib.Search.Tools.GetSimpleQuery<Lib.Data.Insolvence.Rizeni>(modifiedQ, rules); ;
            var qc = Lib.Searching.SimpleQueryCreator.GetSimpleQuery <Lib.Data.Insolvence.Rizeni>(modifiedQ, irules);

            return(qc);
        }