我可以使用模式过滤器工厂来删除我导入到 Solr 中的字段的字符串"THE "吗?



对于像"快速棕色狐狸"这样的短语,我想删除开头的单词"the",这样它就会显示为"快速棕色福克斯"。

我在schema.xml中尝试过以下设置,但都没有成功。最终发生的是,它删除了"the"一词,即使在短语的开头找不到它。

即"快速且死亡"变为"快速且致命">

"solr.PatternPlaceFilterFactory"pattern="(the)"replacement="replace="all"/>

"solr.PatternPlaceFilterFactory"pattern="(the)"replacement="replace="all"/>

"solr.PatternPlaceFilterFactory"pattern="(the)"replacement="replace="all"/>

我使用KeywordTokenizerFactory是因为我正在进行完全匹配。

目标是如果我发送以下短语到Solr进行索引,

"快速棕色狐狸",它将删除短语开头的单词"THE",并在solr中转换为"快速棕色福克斯"。

任何想法都将不胜感激。谢谢

pattern值是一个正则表达式,由于您只想删除前导"The",因此应使用^:将其锚定在开头

pattern="^thes+"

除了BlueM的答案

check that you have not used solr.StopFilterFactory and if you have used it
than remove "the" from stopwords.txt

最新更新