Sql server MS SQL 2012上的FREETEXTTABLE返回奇怪的等级
我试着在一张表格中找到几个不同领域的单词。 为什么有一个对应词的记录比有两个对应词的记录排名更高? 例如: 记录1 标题:Eddie Murphy 描述:美国单口相声演员、演员、作家、歌手、导演和音乐家 记录2 标题:汤姆·克鲁斯 描述:美国电影演员和制片人。他获得了三项金球奖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
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为单位。。如此一来,您的第一份文档将落入第一个桶中,第二份文档将落入第二个桶中。因此,第一个具有更高的等级(与文档长度成反比)。所有这些的参考都在这里 谢谢 文卡特