Семантический поиск (SQL Server)

Применимо к:SQL Server

Статистический семантический поиск предоставляет подробные сведения о неструктурированных документах, хранящихся в базах данных SQL Server, путем извлечения и индексирования статистически релевантных ключевых фраз. Эти ключевые фразы используются также для идентификации и индексирования схожих или связанных документов.

Что можно сделать с помощью семантического поиска?

Семантический поиск основан на существующей функции полнотекстового поиска в SQL Server, но позволяет создавать новые сценарии, которые выходят за рамки поиска ключевых слов. Полнотекстовый поиск позволяет запрашивать слова в документе, а семантический поиск позволяет запрашивать значение документа. Среди новых возможностей автоматическое извлечение тегов, обнаружение связанного содержимого и иерархическая навигация по схожему содержимому. Например, можно запросить индекс ключевых фраз, чтобы создать классификацию для организации или совокупности документов. Или можно запросить индекс сходства документов для выявления резюме, соответствующих описанию вакансии.

Следующие примеры демонстрируют возможности семантического поиска. В то же время эти примеры демонстрируют три функции набора строк языка Transact-SQL, которые можно использовать для запроса семантических индексов и получения результатов в виде структурированных данных.

Поиск ключевых фраз в документе

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

Этот запрос вызывает функцию semantickeyphrasetable.

SET @Title = 'Sample Document.docx'  
  
SELECT @DocID = DocumentID  
    FROM Documents  
    WHERE DocumentTitle = @Title  
  
SELECT @Title AS Title, keyphrase, score  
    FROM SEMANTICKEYPHRASETABLE(Documents, *, @DocID)  
    ORDER BY score DESC  
  

Поиск похожих или связанных документов

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

Этот запрос вызывает функцию semanticsimilaritytable.

SET @Title = 'Sample Document.docx'  
  
SELECT @DocID = DocumentID  
    FROM Documents  
    WHERE DocumentTitle = @Title  
  
SELECT @Title AS SourceTitle, DocumentTitle AS MatchedTitle,  
        DocumentID, score  
    FROM SEMANTICSIMILARITYTABLE(Documents, *, @DocID)  
    INNER JOIN Documents ON DocumentID = matched_document_key  
    ORDER BY score DESC  
  

Найдите ключевые фразы, которые делают документы похожими или связанными

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

Этот запрос вызывает функцию semanticsimilaritydetailstable.

SET @SourceTitle = 'first.docx'  
SET @MatchedTitle = 'second.docx'  
  
SELECT @SourceDocID = DocumentID FROM Documents WHERE DocumentTitle = @SourceTitle  
SELECT @MatchedDocID = DocumentID FROM Documents WHERE DocumentTitle = @MatchedTitle  
  
SELECT @SourceTitle AS SourceTitle, @MatchedTitle AS MatchedTitle, keyphrase, score  
    FROM semanticsimilaritydetailstable(Documents, DocumentContent,  
        @SourceDocID, DocumentContent, @MatchedDocID)  
    ORDER BY score DESC  
  

Хранение документов в SQL Server

Прежде чем индексировать документы с помощью семантического поиска, необходимо хранить документы в базе данных SQL Server.

Функция FileTable в SQL Server делает неструктурированные файлы и документы первоклассным содержимым реляционной базы данных. С их помощью разработчики баз данных могут управлять документами вместе со структурированными данными с использованием набора операций Transact-SQL.

Дополнительные сведения о функции FileTable см. в разделе FileTables (SQL Server). Сведения о функции FILESTREAM, которая является еще одним вариантом хранения документов в базе данных, см. в разделе FILESTREAM (SQL Server).

Связанные задачи

Установка и настройка семантического поиска
Описывает компоненты, необходимые для статистического семантического поиска, и способы их установки и проверки.

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

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

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

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

Связанный контент

Инструкции DDL, функции, хранимые процедуры и представления для семантического поиска
Содержит список инструкций Transact-SQL и объектов базы данных SQL Server, добавленных или измененных для поддержки статистического семантического поиска.