Пример #1
0
        /// <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);
        }
Пример #2
0
        public AnalyzerBase(AnalyzerEnum type)
        {
            if(type == null)
                throw new ArgumentNullException("type");

            Type = type.ToString();
        }
Пример #3
0
        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;
        }
Пример #4
0
 public LanguageBase(AnalyzerEnum type)
     : base(type)
 { }
 public StemExclusionLanguageBase(AnalyzerEnum type)
     : base(type)
 { }