Bog*_*iev 5 indexing solr punctuation filterfactory
我遇到了从solr索引中去除标点符号的问题当标点符号紧跟在一个单词后面时,这个单词没有正确编入索引.
例如:如果我们索引"hello,John",则不会通过关键字"hello"找到资产,而如果我们在单词"hello"之后删除逗号则不会出现问题.
是否有任何FilterFactory假设剥离标点符号?有任何想法吗?
谢谢,波格丹.
你可以使用它solr.PatternReplaceFilterFactory来剥离开头和尾随标点符号:
<filter class="solr.PatternReplaceFilterFactory"
pattern="^\p{Punct}*(.*?)\p{Punct}*$"
replacement="$1"/>
Run Code Online (Sandbox Code Playgroud)
如果你想在开头和结尾删除所有标点符号,除了(例如)单词前面的美元符号,你可以使用:
<filter class="solr.PatternReplaceFilterFactory"
pattern="^[\p{Punct}&&[^$]]*(.*?)\p{Punct}*$"
replacement="$1"/>
Run Code Online (Sandbox Code Playgroud)