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;