zoukankan      html  css  js  c++  java
  • 1.5.7 CharFilterFactories

    CharFilterFactories

      字符过滤器是一个预处理输入字符的组件,字符过滤器可以链接如token过滤器,并放置在Tokenizer(分词器)的前面,字符过滤器可以添加,更改或删除字符,同时保留原有的字符偏移量,以支持高亮的功能.

    solr.MappingCharFilterFactory

      这个过滤器创建了org.apache.lucene.analysis.MappingCharFilter,可以用来改变字符.如规范化é 为 e.

      例子:

    <analyzer>
        <charFilter class="solr.MappingCharFilterFactory" mapping="mapping-FoldToASCII.txt" />
    </analyzer>

    solr.HTMLStripCharFilterFactory

      这个顾虑器创建了org.apache.solr.analysis.HTMLStripCharFilter,这个过滤器从输入流中剥离HTML标签,传递结果给另一个字符过滤器或者分词器(Tokenizer).

    这个过滤器:

    1.   删除HTML/XML标记,同时保存其他内容.
    2.   删除标记内的属性,支持可选择属性的引用.
    3.   删除XML处理指令,如:<?FOO吧>.
    4.   删除XML注释.
    5.   删除以 <!>开始的元素
    6.   删除 <script>和<type>元素的内容.
    7.   处理这些元素中XML注释(正常注释的处理并不总是工作).
    8.   替换数字字符实体引用,像  &#65; 或者 &#x7f;.
    9.   如果实体引用后跟着空格的话,结束符号";"是可以选择不写的.
    10.   替换所有命名字符实体引用.
    11.   &nbsp;被替换为一个空格,而不是0xa0.
    12.   结束符号";"是强制性的,避免错误匹配.
    13.   换行符替换为块级元素.
    14.   识别<CDATA>部分.
    15.   行内标签 , 如<b>,<i>,<span>将被删除.
    16.   大写字母实体像quot,gt,lt,amp会被识别,并转为小写.

      下面是一些例子:

    输入 输出
    my <a href="www.foo.bar">link</a> my link
    <br>hello<!--comment--> hello
    hello<script><!-- f('<!--internal--></script>'); --></script> hello
    if a<b then print a; if a<b then print a;
    hello <td height=22 nowrap align="left"> hello
    a<b &#65 Alpha&Omega a<b A Alpha&Omega

    solr.PatternReplaceCharFilterFactory

      参数:

        pattern:对于传入文本使用的正则表达式.

        replaceWith:用来替换匹配模式(pattern)的文本.

    <analyzer>
        <charFilter class="solr.PatternReplaceCharFilterFactory"
            pattern="([nN][oO].)s*(d+)" replaceWith="$1$2" />
    </analyzer>

    下面是基于正则模式替换的例子:

    输入 Pattern 替换 输出 描述
    see-ing looking (w+)(ing) $1 see-ing look 删除单词末尾的 "ing"
    see-ing looking (w+) ing $1 see-ing look 和上面相同,第二个括号可以忽略.
    No.1 NO. no. 543 [nN][oO].s*(d+) #$1 #1 NO. #543 替换一些字符串文字.
    abc=1234=5678 (w+)=(d+)=(d+) $3=$1=$2 5678=abc=1234 改变groups的顺序
  • 相关阅读:
    最短路之浇水
    agc031_d A Sequence of Permutations
    loj 3236 [POI2019 R1] Układ scalony
    CodeForces 1237H Balanced Reversals
    CodeForces 1320F Blocks and Sensors
    CodeForces 1340D Nastya and Time Machine
    agc037_f Counting of Subarrays
    nikkei2019_2_qual_e Non-triangular Triplets
    CodeForces 603E Pastoral Oddities
    Vue router / ElementUI,Ant Design Vue 重复点击导航路由报错解决方法
  • 原文地址:https://www.cnblogs.com/a198720/p/4302742.html
Copyright © 2011-2022 走看看