说明在为统计语义索引配置的列上如何查找相似或相关的文档或文本值,以及如何查找其相似或相关程度的信息。
查找相似文档或相关文档
如何:使用 SEMANTICSIMILARITYTABLE 查找相似或相关文档
要标识特定列中相似或相关文档,请查询函数 semanticsimilaritytable (Transact-SQL)。
SEMANTICSIMILARITYTABLE 返回一个表,该表由指定列中其内容在语义上类似于指定文档的零个、一个或多个行构成。 可以在 SELECT 语句的 FROM 子句中像引用常规表名那样引用此行集函数。
不能跨列查询相似的文档。 SEMANTICSIMILARITYTABLE 函数只从与源列相同的列检索结果,源列由 source_key 参数标识。
有关 SEMANTICSIMILARITYTABLE 函数所需的参数和它返回的结果表的详细信息,请参阅 semanticsimilaritytable (Transact-SQL)。
重要
针对的列必须启用了全文索引和语义索引。
示例:查找与另一个文档相似的热门文档
以下示例从 AdventureWorks2012 示例数据库中的 HumanResources.JobCandidate 表中检索出与由 @CandidateID 指定的候选人相似的前 10 位候选人。
SELECT TOP(10) KEY_TBL.matched_document_key AS Candidate_ID
FROM SEMANTICSIMILARITYTABLE
(
HumanResources.JobCandidate,
Resume,
@CandidateID
) AS KEY_TBL
ORDER BY KEY_TBL.score DESC;
GO
查找文档之间相似或相关的信息
如何获取使用 SEMANTICSIMILARITYDETAILSTABLE 来查找文档相似或相关信息的技巧
要获取使文档相似或相关的关键短语的信息,可以查询函数 semanticsimilaritydetailstable (Transact-SQL)。
SEMANTICSIMILARITYDETAILSTABLE 返回一个表,该表包含其内容在语义上相似的两个文档(源文档和匹配的文档)共有的关键短语的零个、一个或多个行。 可以在 SELECT 语句的 FROM 子句中像引用常规表名那样引用此行集函数。
有关 SEMANTICSIMILARITYDETAILSTABLE 函数所需的参数和它返回的结果表的详细信息,请参阅 semanticsimilaritydetailstable (Transact-SQL)。
重要
针对的列必须启用了全文索引和语义索引。
示例:查找文档之间相似的主要关键短语
以下示例检索在 AdventureWorks2012 示例数据库的 HumanResources.JobCandidate 表中指定候选项之间具有最高相似性分数的 5 个关键短语。
SELECT TOP(5) KEY_TBL.keyphrase, KEY_TBL.score
FROM SEMANTICSIMILARITYDETAILSTABLE
(
HumanResources.JobCandidate,
Resume, @CandidateID,
Resume, @MatchedID
) AS KEY_TBL
ORDER BY KEY_TBL.score DESC;
GO