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