我在使用 Solr 搜索包含停用词的短语时遇到问题。Solr 使用停用词发送结果,这不是我的预期输出。
stopwords.txt
我在文件中添加了一个单词“test” 。在schema.xml
文件中,我有这样的字段
<field name="searchword" type="text" indexed="true" stored="true" />
我索引了一些数据,然后尝试在 solr 浏览器窗口中搜索如下:searchword:“test”,但没有得到结果。然后我又给出了一个类似搜索词的短语:“测试数据”,我得到了结果。如何避免这种情况?如果它包含停用词 Solr 不应该给出任何结果。当短语包含停用词时,如何停止 solr 中的结果?
以下是我正在使用的 fieldType:
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.CommonGramsFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" type="phrase"/>
</analyzer>
</fieldType>
当我给出包含停用词的短语时,我需要 Solr 的解决方案没有提供任何结果(测试)