• SqlServer全文索引在项目中的实际应用


    重写分析器

    lucene.net中每个分词器都是一个类,同时有一个辅助类,这个辅助类完成分词的大部分逻辑。分词类以Analyzer结尾,辅助类通常以Tokenizer结尾。分类词全部继承自Analyzer类,辅助类通常也会继承CharTokenizer,比如说有新需求,希望我们加一个逗号分词器:

    namespace Lucene.Net.Analysis
    {
        /// <summary>
        /// 逗号分词器   这是自定义的一个分词器,如果之后还需要自定义分词器的话,就需要和这一样分别继承Analyzer和CharTokenizer
        /// </summary>
        public class CommaAnalyzer : Analyzer
        {
            public override TokenStream TokenStream(string fieldName, TextReader reader)
            {
                //CommaTokenizer  自定义的逗号分析器的
                return new CommaTokenizer(reader);
            }
            public override TokenStream ReusableTokenStream(string fieldName, TextReader reader)
            {
                Tokenizer tokenizer = (Tokenizer)this.PreviousTokenStream;
                if (tokenizer == null)
                {
                    tokenizer = new CommaTokenizer(reader);
                    this.PreviousTokenStream = tokenizer;
                }
                else
                {
                    tokenizer.Reset(reader);
                }
                return tokenizer;
            }
        }
    }

    辅助类:

    namespace Lucene.Net.Analysis
    {
        public class CommaTokenizer : CharTokenizer
        {
            public CommaTokenizer(TextReader in_Renamed)
                : base(in_Renamed)
            {
            }
            public CommaTokenizer(AttributeSource source, TextReader in_Renamed)
                : base(source, in_Renamed)
            {
            }
            public CommaTokenizer(AttributeSource.AttributeFactory factory, TextReader in_Renamed)
                : base(factory, in_Renamed)
            {
            }
            protected override bool IsTokenChar(char c)
            {
                return c != ',';
            }
        }
    }
  • 相关阅读:
    二叉平衡树
    红黑树
    [leetcode] LCP 比赛
    二叉搜索树
    面向对象的二叉树的实现
    二叉树的序列化与反序列化
    [leetcode] 基本计算器
    【pandas】玩转一行拆多行,多行并一行(分分合合你说了算)
    【VBA】数据溢出与解决
    【VBA】criterial 未找到命名参数
  • 原文地址:https://www.cnblogs.com/anjingdian/p/15351042.html
Copyright © 2020-2023  润新知