对于像“THE QUICK BROWN FOX”这样的短语,我想在开头删除单词“THE”,以便它显示为“QUICK BROWN FOX”。
我在schema.xml中尝试了以下设置,但没有一个有效。最终发生的是它删除了“THE”这个词,即使它没有在短语的开头找到。
即。 “快速和死亡”变成“快速和死亡”
“solr.PatternReplaceFilterFactory”pattern =“(the)”replacement =“”replace =“all”/>
“solr.PatternReplaceFilterFactory”pattern =“(\ s)”replacement =“”replace =“all”/>
“solr.PatternReplaceFilterFactory”pattern =“(\ s)”replacement =“”replace =“all”/>
我正在使用KeywordTokenizerFactory,因为我正在进行完全匹配。
目标是我将以下短语发送给Solr进行索引,
“快速布朗福克斯”,它只会在短语的开头放下“THE”这个词,并在solr中变成“QUICK BROWN FOX”。
任何想法都将不胜感激。感谢。
答案 0 :(得分:2)
pattern
值是正则表达式,并且由于只想要删除前导“The”,您应该使用^
将其锚定在开头:
pattern="^the\s+"
答案 1 :(得分:0)
除了BlueM的回答
check that you have not used solr.StopFilterFactory and if you have used it
than remove "the" from stopwords.txt