我在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”将相等。