2015-03-02 57 views
0

我是新使用Solr工作,我有我的服务器正常运行的实例如何让Solr在查询中不索引常用单词?

我的问题是:

当我查询Solr的一些方面,它没有返回结果,但也有项目该术语索引。我和一位正在使用这个Solr实例的开发人员进行了交谈,他记得关于“黑名单”或“空列表”或其他相关内容的某些东西,这些东西充当查询的过滤器,就像一个常见的单词列表,返回质量差结果到一个查询,如: “a”,“the”,“for”,...

我想知道如何管理该列表以从中删除术语(或添加一个,编辑,等等)

回答

1

这听起来像你在说停用词过滤器。如果您有词过滤活跃,你应该会看到类似这样的东西在你的领域分析中schema.xml

<filter class="solr.StopFilterFactory" ignoreCase="true" 
       words="stopwords.txt" enablePositionIncrements="true" /> 

此引用文件stopwords.txt,这是该文件的标准名称,但也可以使用不同的文件名,所以它可能会在你的服务器上有所不同。该文件将包含在搜索过程中应忽略的单词列表。您应该在索引conf目录中找到此文件(与schema.xmlsolrconfig.xml相同)。您可以编辑此文件,但为了获得最佳效果,您应该在完成后重新为您的记录编制索引。或者,如果您不希望过滤搜索中的常用单词,则可以从字段分析中完全删除对StopFilterFactory的引用。同样,您应该计划在完成后重新编制记录。

+0

太棒了,它的工作原理! – Oriam 2015-03-02 20:56:37