Solr - 忽略预定义的单词

Solr - ignore predefined words

我的搜索应用程序利用 Solr 来搜索某些维基和论坛内容。 有时粗俗的词会出现在帖子中,因此它们会在 Solr 中编入索引并出现在建议和搜索中。

Solr 有没有办法忽略一组被认为粗俗的预定义词?

用户案例如下。我们有:

A) 架构如:

<field name="id" type="string" indexed="true" stored="true" required="true" />  
<field name="title" type="string" indexed="true" stored="true" >   
<field name="body" type="string" indexed="true" stored="true" >

B) 包含要忽略的粗俗词语的文本文件:words_to_ignore.txt。例如它将包含:

badword1 badword2

C) 标题为 "my wiki badword1" 的 wiki ;

如果我们运行查询:

http://localhost:8983/my_wiki_collection/select?q=name:(wiki+AND+badword1)

我们希望 Solr return 文档:

<doc>
<str name="id">abcd-acdf-a1ga</str>
<str name="name">my wiky</str>
<str name="body">This is my amazing wiki</str>
</doc>

只需将它们添加到您的停用词列表即可。

https://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.StopFilterFactory