带有停用词的SQL CONTAINSTABLE

时间:2014-08-04 18:06:57

标签: sql sql-server full-text-search contains

我认为与停止词有关的问题。我们有一个名为SearchData的表,其中包含一列搜索字词(列也称为searchData)。我们在该列 WHERE 上使用CONTAINSTABLE CONTAINS 我们的搜索字词。

SELECT *
FROM
    SearchData sd WITH(NOLOCK)
    LEFT OUTER JOIN
    CONTAINSTABLE(SearchData, searchData, @SearchString) ftt
    ON sd.resultGUID = ftt.[KEY]
WHERE CONTAINS(sd.SearchData, @SearchString)
ORDER BY Rank DESC;

这似乎工作得很好,问题是当@SearchString以单词the开头时(我们到目前为止只注意到这个词)。例如,我们在The Guitar Room列中有一个SearchData的记录。当我们搜索guitar room时会弹出,当我们搜索the guitar room时,就会显示任何内容。

这会与停用词相关吗?有关如何解决此问题的任何建议吗?

1 个答案:

答案 0 :(得分:0)

这个特定问题的答案就是删除整个停用词列表。谢谢!