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


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;