我在Sphinx索引上设置了index_exact_words = 1。当我查询“ The Darkness”时,它返回的结果顶部带有“ Darkness”一词,但“ The Darkness”不是第一个结果。那可能是因为它忽略了stopwords.txt中的“ The”一词。我如何告诉Sphinx不要将'The'当作停用词,因为我想要完全匹配?

我正在使用以下术语查询:'= The = Darkness'

(Sphinx版本:Sphinx 2.0.9-id64-release)

谢谢。

最佳答案

Sphinx中的停用词未编入索引,因此无论是否使用精确匹配运算符都没关系。

但是,停用词会影响关键字的位置。 'Darkness'关键字在'The Darkness'中具有pos==1,在'Darkness'中具有pos==0。但是您可以使用stopword_step选项来调整这些行为。如果将其设置为0,则停用词将不会影响关键字位置,并且在狮身人面像中文档“ The Darkness”和“ Darkness”将相等。

09-27 21:25