Поиск похожих и связанных документов с помощью семантического поиска
Область применения:SQL Server
Описывает процесс поиска схожих или связанных документов или текстовых значений и сведений об их сходстве или связи в столбцах, настроенных для статистического семантического индексирования.
Поиск аналогичных или связанных документов с помощью SEMANTICSIMILARITYTABLE
Чтобы определить аналогичные или связанные документы в определенном столбце, выполните запрос функции semanticsimilaritytable (Transact-SQL).
ФункцияSEMANTICSIMILARITYTABLE возвращает таблицу, состоящую из нуля, одной или нескольких строк, содержимое которых в указанном столбце семантически схоже с заданным документом. На эту функцию набора строк можно ссылаться в предложении FROM инструкции SELECT как на обычное имя таблицы.
Искать схожие документы по разным столбцам невозможно. Функция SEMANTICSIMILARITYTABLE извлекает результаты только из столбца, совпадающего с исходным столбцом, определяемым аргументом source_key .
Подробные сведения о параметрах, необходимых для функции SEMANTICSIMILARITYTABLE, и о таблице возвращаемых результатов см. в разделе semanticsimilaritytable (Transact-SQL).
Внимание
Для целевых столбцов должно быть включено полнотекстовое и семантическое индексирование.
Пример. Поиск верхних документов, похожих на другой документ
В следующем примере извлекаются первые 10 кандидатов, которые похожи на кандидата, указанного @CandidateID из таблицы HumanResources.JobCandidate в образце AdventureWorks2022
базы данных.
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 возвращает таблицу из нуля, одной или нескольких строк с ключевыми фразами, общими для двух документов (исходного документа и сопоставленного документа), содержимое которых семантически схоже. На эту функцию набора строк можно ссылаться в предложении FROM инструкции SELECT как на обычное имя таблицы.
Подробные сведения о параметрах, необходимых для функции SEMANTICSIMILARITYDETAILSTABLE, и о таблице возвращаемых результатов см. в разделе semanticsimilaritydetailstable (Transact-SQL).
Внимание
Для целевых столбцов должно быть включено полнотекстовое и семантическое индексирование.
Пример: Найдите основные ключевые фразы, которые похожи в разных документах.
В следующем примере извлекаются 5 ключевых фраз, которые имеют самую высокую оценку сходства между указанными кандидатами в AdventureWorks2022
образца базы данных.
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