zoukankan      html  css  js  c++  java
  • 1.5.4 什么是Filter--过滤器

    什么是Filter--过滤器

      像分词器(tokenizer)一样,过滤器(filter)消耗输入,产生token流.过滤器同样从org.apache.lucene.analysis.TokenStream中产生.和tokenizer不同的是,filter的输入是一个Tokenizer.filter的工作一般都比tokenizer简单,因为在大多数情况下,filters查看每一个stream中token的顺序,并决定是否传递,替换,或者废弃它.

      filter还可以提前做出更复杂的分析,一次考虑多个token.虽然这是不常见的.一个假设的对于这种filter的使用就是规范化名字的状态,需要分成2个单词. 例如,这单独的token "california" 可以使用"CA"来替换,然而token "rhode" 以及接着的"island" 可能会变成"RI".

      因为filters消耗了一个TokenStream,生成了一个TokenStream.

    <fieldType name="text" class="solr.TextField">
        <analyzer>
            <tokenizer class="solr.StandardTokenizerFactory" />
            <filter class="solr.StandardFilterFactory" />
            <filter class="solr.LowerCaseFilterFactory" />
            <filter class="solr.EnglishPorterFilterFactory" />
        </analyzer>
    </fieldType>

      例子中,solr的标准分词器将字段的文本内容分解成tokens.这些tokens然后传递给solr的过滤器,这些顾虑起删除首字母的缩略词,执行一些普通的操作,所有的token都设置为小写,因为查询时不区分大小写的.

  • 相关阅读:
    洛谷 P1363 幻想迷宫
    洛谷 P2872 [USACO07DEC]道路建设Building Roads
    字符编码
    python 基础数据类型
    python基础数据类型
    Python中的流程控制
    Python的入门基础
    计算机基础
    Java Random 随机数
    Java Array二维数组使用
  • 原文地址:https://www.cnblogs.com/a198720/p/4302557.html
Copyright © 2011-2022 走看看