Regex solr模式替换滤波器
我试图为solr编写一个模式替换,这是我成功编写的过滤器的一半,我被困在一个需要保留一些单词的地方 我正在写一个模式替换过滤器,它会将除数字和一些单词(如英寸、英尺、英尺)之外的所有内容替换为空Regex solr模式替换滤波器,regex,solr,solrj,Regex,Solr,Solrj,我试图为solr编写一个模式替换,这是我成功编写的过滤器的一半,我被困在一个需要保留一些单词的地方 我正在写一个模式替换过滤器,它会将除数字和一些单词(如英寸、英尺、英尺)之外的所有内容替换为空 <filter class="solr.PatternReplaceFilterFactory" pattern="[^0-9\.\/&&[^\*]]" replacement="" /> 在这里,我能够成功地看到将除数字(22.5,22/5,22)以外的所有内容都转换
<filter class="solr.PatternReplaceFilterFactory" pattern="[^0-9\.\/&&[^\*]]" replacement="" />
在这里,我能够成功地看到将除数字(22.5,22/5,22)以外的所有内容都转换为null,但我如何才能在这里添加一些像英寸英尺这样的单词,如果我在这里添加英寸,它将“I n c h”作为单独的单词,因此它将保留我不想要的单词中的所有“I或n或c或h”
我试着放进去,但没用
输入-hello world 123.34 123/34英寸管道
预期输出-123.34 123/34英寸
输入-您好,这是新的123.34英寸英尺
预期输出-123.34英寸英尺不确定以下表达式是否有效,但不妨看一看,以便它可以为您提供一些解决问题的方法:
(?:[0-9]+(?:[.\/][0-9]+)\s){1,2}(?:inch feet|inch|ft)\b
@艾玛-我已经编辑了这个问题,你是在看存储的文本还是在幕后实际存储的标记?Solr中的
过滤器
只会影响后一部分(即产生点击的内容),返回的实际存储文本不会更改。
\b(?!ft|feet|inch)[A-Za-z]+