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 })); }
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); } }
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); }