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

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

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

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

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

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

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

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

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  
  

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

Следующий запрос получает документы, которые были определены как аналогичные или связанные с примером документа. Он представляет результаты в порядке убывания по оценке, которая ранжирует сходство 2 документов. Этот запрос вызывает функцию semanticsimilaritytable (Transact-SQL).

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  
  

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

Следующий запрос получает ключевые фразы, которые делают 2 примера документов похожими или связанными друг с другом. Он представляет результаты в порядке убывания по оценке, которая ранжирует вес каждой ключевой фразы. Этот запрос вызывает функцию semanticsimilaritydetailstable (Transact-SQL) .

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 2014 превращает неструктурированные файлы и документы в полноценные объекты реляционной базы данных. В результате разработчики баз данных могут управлять документами вместе со структурированными данными в операциях на основе набора Transact-SQL.

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

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

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

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

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

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

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

Связанные материалы

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