semanticsimilaritytable (Transact-SQL)
Возвращает таблицу, состоящую из нуля, одной или более строк для документов, содержимое которых в указанных столбцах семантически сходно с содержимым указанного документа.
На эту функцию набора строк можно ссылаться в предложении 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 в образце базы данных AdventureWorks2012.
SELECT TOP(10) KEY_TBL.matched_document_key AS Candidate_ID
FROMSEMANTICSIMILARITYTABLE
(
HumanResources.JobCandidate,
Resume,
@CandidateID
) AS KEY_TBL
ORDER BY KEY_TBL.score DESC;