我试图不为所有Textfields索引停用词。
我的managed-schema.xml如下所示:
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" words="lang/stopwords_en.txt" ignoreCase="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPossessiveFilterFactory"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>
<field name="ItemDesc" type="text_en" multiValued="false" indexed="true" stored="false"/>
然而,当我查看solr字段描述时,它确实向我显示了“加载项信息”选项卡中的停用词screenshot
然而,当我点击像“on”这样的禁用词时,它会给我0个结果。 screenshot
solr是否将停用词编入索引?
我查看了solr文档并说:“点击该按钮将显示该字段的索引中的前N个术语” 这意味着像“on”这样的停用词会被编入索引,但是当我点击该单词时,它只返回0结果,只有所有的停用词。
答案 0 :(得分:0)
所以我终于找到了问题所在。 模式文件正在过滤掉停用词。 问题是PorterstemFilterfactory阻止关键字如“一”到“开”和“使用”到“我们”并索引它们使它看起来像停用词没有被过滤掉。 我不知道这是否是Porterstem中的错误,或者假设是这样的。