Pattern Tokenizer Factory无法正常工作

时间:2016-10-13 14:49:57

标签: solr lucene schema

我正在使用PatternTokenizerFactory尝试解析输入行。

所以根据doc: https://lucene.apache.org/core/4_1_0/analyzers-common/org/apache/lucene/analysis/pattern/PatternTokenizerFactory.html

我的架构如下:

    <fieldType name="text_ptn" class="solr.TextField" positionIncrementGap="100">
     <analyzer>
      <tokenizer class="solr.PatternTokenizerFactory" pattern="(&quot;bbb&quot;: &quot;)([[a-zA-Z ]+)" group="2"/>
     </analyzer>
    </fieldType>

因此,这种模式应该有效:https://regex101.com/r/9Ep6qO/6

根据模式,我试图从“测试”字段('bbb')的特定部分获得价值。正如我现在所理解的,我可以在Solr“test”中搜索doc:“Acc Hs” 但我只能搜索这样的结构:“测试”:“'bbb':'Acc Hs'”

我的解决方案是拆分此输入,然后使用过滤器:

    <tokenizer class="solr.PatternTokenizerFactory" pattern="(.*\&quot;bbb\&quot;: \&quot;)" />

    <filter class="solr.PatternCaptureGroupFilterFactory" 
           pattern="(^[a-zA-Z ]+)"
           preserve_original="false"/>

那么,你能解释为什么第一个选项不起作用。(当我把例如group =“1”时没有区别)

0 个答案:

没有答案