我在单列上尝试MS SQL全文查询。
为此我使用“FREETEXTABLE”功能。
当我查询“骑马”时,结果集包含标题中包含单词“ride”的视频。
难怪当使用FREE或“FREETEXTTABLE”时,该过程是打破查询字符串
单词,创建屈折单词,这就是结果集的生成方式。
所以我的问题是,如果这是一个过程,为什么结果集没有“马”字是什么的视频 目前(我在DB中有视频,其中视频标题包含“马”字)。
是因为断字词优先于“动词”吗?
请评论“断字器”和“词干”如何适用于英语。
我可以找到关于“断字器”和“词干”的详细信息的链接 帮忙。
每次获得相关结果对我来说非常重要。
谢谢。
答案 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)')