我可以使用patternfilterfactory删除我导入Solr

时间:2015-04-30 01:27:27

标签: solr solr4

对于像“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”。

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

2 个答案:

答案 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