搜索引擎停用词 - 最佳实践

时间:2012-11-28 08:03:11

标签: algorithm search-engine elasticsearch information-retrieval stop-words

在分析搜索引擎的文档时,通常不会将所谓的停用词编入索引。停用词是常用词,例如athethis,它们经常出现在语言中。我们的想法是,如果对停用词进行索引,它们会在索引中占用太多空间,并且几乎不会增加搜索结果的质量。

我想知道是否总是如此。

在现代搜索引擎中,索引停用词是否会使索引大小爆炸?或者只是略微增加。

此外,删除停用词会如何影响短语搜索?寻找“披头士”和“披头士乐队”似乎是两件截然不同的事情。

我正在使用elasticsearch构建应用程序,但此问题同样适用于Solr,直接lucene或任何其他变体。

2 个答案:

答案 0 :(得分:4)

  1. 停用词的主要问题不是索引大小 - 而是答案的质量。它们往往占主导地位(具有非常高的tf值,因此可能使结果返回错误),而不是索引的大小。
    在任何情况下,索引停用词都不会显着增加索引的大小(并且它绝对不会“爆炸”)

  2. 克服它的一种方法是在索引n-grams时使用停用词(而不是完全省略它们)。我不知道它是否真的完成了,但它肯定可以帮助改善返回的结果。

  3. 另外:停用词不会总是 *省略。例如,在讽刺探测器中 - 似乎(凭经验)停止词对答案非常重要。

答案 1 :(得分:0)

我认为所有搜索引擎都有不同的处理方式。 您可以在http://searchenginewatch.com

了解这些内容

但如果你只是一个正在构建一个(小)应用程序的人,我认为你不应该专注于这些小细节,只是忽略这些单词,而是专注于更相关的单词。