在正则表达式中,如何删除SOLR中存在的所有前导,尾随和空格。 要删除特殊字符,我们可以将PatternReplaceFilterFactory设为
<filter class="solr.PatternReplaceFilterFactory" pattern="([^a-z])" replacement="" replace="all" />
将形成什么样的模式值来移除空间。
答案 0 :(得分:3)
我不知道SOLR,但根据你的例子,我猜你可以做到
<filter class="solr.PatternReplaceFilterFactory" pattern="(\s+)" replacement="" replace="all" />
删除所有空格
或
<filter class="solr.PatternReplaceFilterFactory" pattern="(^\s+|\s+$)" replacement="" replace="all" />
只删除前导和尾随空格。
答案 1 :(得分:2)
使用修剪滤镜删除前导和尾随空格。 http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.TrimFilterFactory
只需用一无所有的东西替换所有不是a-z的东西都会导致奇怪的事情发生,这不是一个好主意。答案 2 :(得分:0)
solr.TrimFilterFactory,可用于删除前导空格和尾随空格而不使用正则表达式。