コード例 #1
0
        public ActionResult Dokumenty(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(View("Error404"));
            }

            bool showHighliting = !string.IsNullOrEmpty(this.Request.QueryString["qs"]);

            var data = Insolvence.LoadFromES(id, showHighliting ? true : false);

            //var data = Insolvence.LoadFromES(id,false);
            if (data == null)
            {
                return(View("Error404"));
            }
            Nest.HighlightFieldDictionary highlighting = null;
            if (showHighliting)
            {
                var findRizeni = Insolvence.SimpleSearch($"_id:\"{data.Rizeni.SpisovaZnacka}\" AND ({this.Request.QueryString["qs"]})", 1, 1, true);
                if (findRizeni.Total > 0)
                {
                    highlighting = findRizeni.Result.Hits.First().Highlights;
                }
            }

            return(View(new DokumentyViewModel
            {
                SpisovaZnacka = data.Rizeni.SpisovaZnacka,
                UrlId = data.Rizeni.UrlId(),
                Dokumenty = data.Rizeni.Dokumenty.ToArray(),
                HighlightingData = highlighting
            }));
        }
コード例 #2
0
        public static string HighlightContent(Nest.HighlightFieldDictionary highlights, string path, string content, string highlightPartDelimiter = " ..... ")
        {
            highlights = highlights ?? new Nest.HighlightFieldDictionary();
            string result = "";

            foreach (var hlk in highlights.Where(k => k.Key == path))
            {
                foreach (var txt in hlk.Value.Highlights)
                {
                    string stxt = txt.Replace("<highl>", "").Replace("</highl>", "");

                    if (content?.Contains(stxt) == true)
                    {
                        if (result.Length > 0)
                        {
                            result = result + highlightPartDelimiter + txt;
                        }
                        else
                        {
                            result = txt;
                        }
                    }
                }
            }
            if (string.IsNullOrEmpty(result))
            {
                return(null);
            }
            else
            {
                return(result);
            }
        }
コード例 #3
0
        public static bool HasHighlightedContent(Nest.HighlightFieldDictionary highlights, string path, string content, string highlightPartDelimiter = " ..... ")
        {
            highlights = highlights ?? new Nest.HighlightFieldDictionary();
            string result = "";

            foreach (var hlk in highlights.Where(k => k.Key == path))
            {
                foreach (var txt in hlk.Value.Highlights)
                {
                    string stxt = txt.Replace("<highl>", "").Replace("</highl>", "");

                    if (content?.Contains(stxt) == true)
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }