MS SQL:全文搜索结果不相关

时间:2013-10-16 07:12:50

标签: sql-server full-text-search

我在单列上尝试MS SQL全文查询。

为此我使用“FREETEXTABLE”功能。

当我查询“骑马”时,结果集包含标题中包含单词“ride”的视频。

难怪当使用FREE或“FREETEXTTABLE”时,该过程是打破查询字符串
 单词,创建屈折单词,这就是结果集的生成方式。

所以我的问题是,如果这是一个过程,为什么结果集没有“马”字是什么的视频  目前(我在DB中有视频,其中视频标题包含“马”字)。

是因为断字词优先于“动词”吗?

请评论“断字器”和“词干”如何适用于英语。

我可以找到关于“断字器”和“词干”的详细信息的链接  帮忙。

每次获得相关结果对我来说非常重要。

谢谢。

1 个答案:

答案 0 :(得分:1)

全文搜索过滤噪音词和标点符号,您可以灵活地将更多的干扰词添加到默认的干扰词列表中。但是为了操纵动词,屈折或同义词,我们可以在where子句中使用不同的函数。
在您的情况下,如果您正在寻找“Horse”和“ride”这个词存在的字段,您可以简单地使用Contains函数,就像这样.......

SELECT ColumnName
FROM TableName
WHERE Contains(ColumnName, '"horse" AND "ride"') 

如果您正在寻找有“马”字样的价值观,并且任何屈曲形式的“骑行”都说骑,骑。你可以使用这样的东西......

SELECT ColumnName
FROM TableName
WHERE Contains(ColumnName, '"horse"') AND CONTAINS(ColumnName, 'FORMSOF(INFLECTIONAL, ride)')