solr.StopFilterFactory
这个过滤器会丢弃或停止分析给定停用词列表中的标记。Solr配置目录中包含一个标准的停用词列表,名为stopwords.txt,适用于典型的英语文本。
https://cwiki.apache.org/confluence/display/solr/Filter+Descriptions#FilterDescriptions-StopFilter
这个过滤器实际上是从查询中删除标记,而不是用
*
替换
例子:
In: "To be or what?"
Tokenizer to Filter: "To"(1), "be"(2), "or"(3), "what"(4)
Out: "To"(1), "what"(4)
尝试使用这个过滤器。
solr.SuggestStopFilterFactory
与停用词过滤器类似,该过滤器会丢弃或停止分析给定停用词列表中的标记。Suggest Stop Filter 与 Stop Filter 的不同之处在于,它不会删除最后一个标记,除非它后面跟着一个标记分隔符。
通常情况下,您会在索引分析器中使用普通的 StopFilterFactory,然后在查询分析器中使用 SuggestStopFilter。
如果停用词没有跟随标记分隔符,此过滤器将从您的查询中删除停用词。
如何使用:
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SuggestStopFilterFactory" ignoreCase="true" words="stopwords.txt" format="wordset"/>
</analyzer>
例子:
In: "The The"
Tokenizer to Filter: "the"(1), "the"(2)
Out: "the"(2)