Поделиться через


semanticsimilaritytable (Transact-SQL)

Область применения: SQL Server

Возвращает таблицу, состоящую из нуля, одной или более строк для документов, содержимое которых в указанных столбцах семантически сходно с содержимым указанного документа.

На эту функцию набора строк можно ссылаться в предложении FROM инструкции SELECT как на обычное имя таблицы.

Соглашения о синтаксисе Transact-SQL

Синтаксис

SEMANTICSIMILARITYTABLE  
    (  
    table,  
    { column | (column_list) | * },  
    source_key  
    )  

Аргументы

table
Имя таблицы с включенным полнотекстовым и семантическим индексированием.

Это имя может содержать от одной до четырех частей, но указать имя удаленного сервера невозможно.

column
Имя индексированного столбца, для которого должны быть возвращены результаты. У столбца должно быть включено семантическое индексирование.

column_list
Задает несколько столбцов, разделенных запятыми и заключенных в круглые скобки. У всех столбцов должно быть включено семантическое индексирование.

*
Указывает на то, что используются все столбцы, у которых включено семантическое индексирование.

source_key
Уникальный ключ строки для запроса результатов по определенной строке.

По возможности ключ неявно преобразуется в тип полнотекстового уникального ключа в исходной таблице. Ключ может быть задан в виде константы или переменной, но не может быть выражением или результатом скалярного вложенного запроса.

Возвращаемая таблица

В следующей таблице приведены сведения о сходных или связанных документах, которые возвращает эта функция набора строк.

Если результаты запрашиваются из нескольких столбцов, то совпадающие документы возвращаются для каждого столбца отдельно.

Column_name Тип Описание
source_column_id int Идентификатор столбца, в котором исходный документ использовался при поиске подобных документов.

Способы извлечения имени столбца по идентификатору столбца и идентификатора столбца по имени см. в описании функций COL_NAME и COLUMNPROPERTY.
matched_column_id int Идентификатор столбца, в котором был найден сходный документ.

Способы извлечения имени столбца по идентификатору столбца и идентификатора столбца по имени см. в описании функций COL_NAME и COLUMNPROPERTY.
matched_document_key *

Этот ключ соответствует типу уникального ключа в исходной таблице.
Значение уникального ключа полнотекстового и семантического извлечения для документа или строки, которые оказались подобными документу, указанному в запросе.
score REAL Относительное значение подобия этого документа по отношению ко всем другим подобным документам.

Это дробное десятичное значение в диапазоне [0.0, 1.0], где чем выше показатель, тем больше соответствие, а 1.0 — идеальный показатель.

Общие замечания

Дополнительные сведения см. в статье "Поиск похожих и связанных документов с семантической поиском".

Ограничения

Искать схожие документы по разным столбцам невозможно. Функция SEMANTICSIMILARITYTABLE извлекает аналогичные документы только из того же столбца, что и исходный столбец, который определяется аргументом source_key .

Метаданные

Чтобы получить сведения и состояние извлечения и заполнения данных о семантическом подобии, выполните запрос к следующим динамическим административным представлениям:

Безопасность

Разрешения

Требуется разрешение SELECT на базовую таблицу, в которой были созданы индекс полнотекстового поиска и семантический индекс.

Примеры

В следующем примере извлекаются первые 10 кандидатов, которые похожи на указанного кандидата из таблицы 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;