小编Jar*_*red的帖子

Solr PatternReplaceCharFilterFactory不替换为指定的模式

所以我在Solr非常新,但我正在尝试使用PatternReplaceCharFilterFactory对将要存储的电话号码字符串进行一些预处理.以下是该字段的配置:

<fieldType name="phone_number" class="solr.TextField" >
  <analyzer>
  <charFilter class="solr.PatternReplaceCharFilterFactory"
              pattern="\(?(\d{3})?\)?[-. ]?(\d{3})[-. ]?(\d{4})"
              replaceWith="$1-$2-$3"/>
   <tokenizer class="solr.StandardTokenizerFactory"/>
  </analyzer>
</fieldType>
Run Code Online (Sandbox Code Playgroud)

我测试了正则表达式,它匹配我期望的一切(例如555.444.1234,(555)444-1234,5554441234,4441234,444-1234等).

现在我的理解是正则表达式应该匹配传递给它的东西,并用指定的模式替换它.所以如果他们通过我555.123.4444我会期望它导致555-123-4444传递给StandardTokenizerFactory.从那里它将被分解为代币555,123,4444.

鉴于我花了多少时间在这上面,我确信有一个小的配置问题我缺少但是从可用的文档(我已经看到)我不知道它是什么.

先感谢您.

solr

7
推荐指数
1
解决办法
5196
查看次数

标签 统计

solr ×1