美文网首页
Solr学习笔记(三):分词

Solr学习笔记(三):分词

作者: 63e29c663713 | 来源:发表于2016-11-14 11:35 被阅读202次

Analyzer(分析器)

https://cwiki.apache.org/confluence/display/solr/Understanding+Analyzers,+Tokenizers,+and+Filters

分词器就是将句子分成单个的词,过滤器就是对分词的结果进行筛选,例如中文中将“的”“呀”这些对句子主体意思影响不大的词删除,英语中类似的就是"is","a"等等。

分析器包括两个部分:tokenizer(分词器)和filter(分词过滤器,它们将按照所列的顺序发生作用)。for example:

<fieldType name="text_ik_analysis" class="solr.TextField" sortMissingLast="true"  omitNorms="true" autoGeneratePhraseQueries="false">
        <analyzer type="index">
                <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true"/>
                <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
                <filter class="solr.LengthFilterFactory" min="2" max="20" />
                <filter class="solr.RemoveDuplicatesTokenFilterFactory" />
        </analyzer>
        <analyzer type="query">
               <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true"/>
               <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
               <filter class="solr.LengthFilterFactory" min="2" max="20" />
               <filter class="solr.RemoveDuplicatesTokenFilterFactory" />
        </analyzer>
</fieldType>

Tokenizer(分词器)

常见的分词器有:

  • KeywordTokenizerFactory:不管什么内容,整句当成一个关键字
  • LetterTokenizerFactory:根据字母来分词,抛弃非字母的部分,例如:"I can't" ==> "I", "can", "t"
  • WhitespaceTokenizerFactory:根据空格来分词,例如:"I do" ==> "I", "do"
  • IKTokenizerFactory:IK分词器

Filter(过滤器)

常见的过滤器:

  • LowerCaseFilterFactory:将大写字母转换成小写,不处理非字母部分
  • SynonymFilterFactory:同义词
  • LengthFilterFactory: 限定字符长度
  • RemoveDuplicatesTokenFilterFactory:移除重复文本

相关文章

网友评论

      本文标题:Solr学习笔记(三):分词

      本文链接:https://www.haomeiwen.com/subject/vwotettx.html