Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server MS SQL 2012上的FREETEXTTABLE返回奇怪的等级_Sql Server_Tsql_Full Text Search - Fatal编程技术网

Sql server MS SQL 2012上的FREETEXTTABLE返回奇怪的等级

Sql server MS SQL 2012上的FREETEXTTABLE返回奇怪的等级,sql-server,tsql,full-text-search,Sql Server,Tsql,Full Text Search,我试着在一张表格中找到几个不同领域的单词。 为什么有一个对应词的记录比有两个对应词的记录排名更高? 例如: 记录1 标题:Eddie Murphy 描述:美国单口相声演员、演员、作家、歌手、导演和音乐家 记录2 标题:汤姆·克鲁斯 描述:美国电影演员和制片人。他获得了三项金球奖 SELECT * FROM FREETEXTTABLE(SubjectContent, (Title, Description), 'tom actor') 返回排名61的Recrod 1和排名47的记录2,尽管记录2

我试着在一张表格中找到几个不同领域的单词。 为什么有一个对应词的记录比有两个对应词的记录排名更高? 例如:

记录1

标题:Eddie Murphy

描述:美国单口相声演员、演员、作家、歌手、导演和音乐家

记录2

标题:汤姆·克鲁斯

描述:美国电影演员和制片人。他获得了三项金球奖

SELECT * FROM FREETEXTTABLE(SubjectContent, (Title, Description), 'tom actor')
返回排名61的Recrod 1和排名47的记录2,尽管记录2同时包含单词('tom'和'actor'),而记录1仅包含一个单词('actor')。因此,用户在收到正确的记录之前会收到大量未经处理的记录

虽然如果我设置搜索参数“tom cruise actor”,请求将返回高等级

我的全文索引:

CREATE FULLTEXT INDEX ON SubjectContent(Title, [Description]) 
KEY INDEX PK_SubjectContent
ON FullTextSearch;

我试图更改全文目录的属性“重音敏感”和其他属性,但未成功。感谢您的帮助。

查看这两个字符串,我发现第二个字符串从全文角度看是一个更大的文档。这是因为你有一个句子分隔符。因此,如果您将这些字符串传递给dm_fts_解析器,您将看到第一个字符串的最大出现次数是11,第二个字符串的最大出现次数是21。全文规范化此文档的长度,以16、32、128、256为单位。。如此一来,您的第一份文档将落入第一个桶中,第二份文档将落入第二个桶中。因此,第一个具有更高的等级(与文档长度成反比)。所有这些的参考都在这里 谢谢 文卡特