/// <summary> /// 文本语法高亮的方法 /// </summary> /// <param name="text">输入的文本</param> /// <param name="keys">搜索关键字 需要高亮的文本</param> /// <param name="analyEnum">选择分词方式</param> /// <returns>成功返回高亮的文本 失败返回空字符串</returns> public static string HightLightText(string text, string keys, AnalyzerEnum analyEnum) { string _hightText = string.Empty; SimpleHTMLFormatter simpleHTMLFormatter = new SimpleHTMLFormatter("<font color=\"red\">", "</font>"); Highlighter highlighter = null; switch (analyEnum) { case AnalyzerEnum.SimpleAnalyzer: highlighter = new Highlighter(simpleHTMLFormatter, new SimpleAnalyzer()); break; case AnalyzerEnum.EnglishAnalyzer: EnglishAnalyzer engEa = new EnglishAnalyzer(); engEa.Init(); highlighter = new Highlighter(simpleHTMLFormatter, engEa); break; case AnalyzerEnum.PanGuSegment: highlighter = new Highlighter(simpleHTMLFormatter, new PanGuAnalyzer()); break; default: break; } if (highlighter != null) { highlighter.FragmentSize = 500000; _hightText = highlighter.GetBestFragment(keys, text); } return(_hightText); }
public AnalyzerBase(AnalyzerEnum type) { if(type == null) throw new ArgumentNullException("type"); Type = type.ToString(); }
private string _text; //处理关键字 #endregion #region 构造函数 /// <summary> /// 分词服务 /// </summary> /// <param name="text">需要分词得字符串</param> /// <param name="analyEnu">分词类型</param> public WrodAnalyzerServer(string text, AnalyzerEnum analyEnu) { switch (analyEnu) { case AnalyzerEnum.SimpleAnalyzer: _iAnalyzer = new SimpleAnalyzer(); break; case AnalyzerEnum.EnglishAnalyzer: _iAnalyzer = new EnglishAnalyzer(); break; case AnalyzerEnum.PanGuSegment: _iAnalyzer = new PanGuAnalyzer(); break; default: break; } _wordList = _iAnalyzer.Tokenize(text); _text = text; }
public LanguageBase(AnalyzerEnum type) : base(type) { }
public StemExclusionLanguageBase(AnalyzerEnum type) : base(type) { }