Поиск ключевых фраз в документах с использованием семантического поиска
Описывает способ поиска ключевых фраз в документах или текстовых столбцах, настроенных для статистического семантического индексирования.
Поиск ключевых фраз в документах
Как найти ключевые фразы в документах с помощью SEMANTICKEYPHRASETABLE
Чтобы определить ключевые фразы в определенных документах или документы, содержащие определенные ключевые фразы, выполните запрос к функции semantickeyphrasetable (Transact-SQL).
Функция SEMANTICKEYPHRASETABLE возвращает таблицу с нулем, одной или несколькими строками для ключевых фраз, связанных со столбцами в указанной таблице. На эту функцию набора строк можно ссылаться из предложения FROM инструкции SELECT так же, как и на обычное имя таблицы.
Примечание
В SQL Server 2014 году для семантического поиска индексируются только отдельные слова; многословные фразы (n-граммы) не индексируются. Кроме того, различные формы одного и того же слова индексируются отдельно. Например, «компьютер» и «компьютеры» индексируются отдельно.
Подробные сведения о параметрах, необходимых для функции SEMANTICKEYPHRASETABLE, и о возвращаемой таблице результатов см. в разделе semantickeyphrasetable (Transact-SQL).
Важно!
Для целевых столбцов должно быть включено полнотекстовое и семантическое индексирование.
Пример 1. Поиск наиболее важных ключевых фраз в определенном документе
В следующем примере извлекаются 10 первых ключевых фраз из документа, указанного в переменной @DocumentId в столбце Document таблицы Production.Document в тестовой базе данных AdventureWorks. Переменная @DocumentId представляет значение из ключевого столбца полнотекстового индекса.
SELECT TOP(10) KEYP_TBL.keyphrase
FROM SEMANTICKEYPHRASETABLE
(
Production.Document,
Document,
@DocumentId
) AS KEYP_TBL
ORDER BY KEYP_TBL.score DESC;
GO
Функция SEMANTICKEYPHRASETABLE эффективно извлекает эти результаты поиском по индексу, а не путем просмотра таблицы.
Пример 2. Поиск наиболее важных документов, содержащих определенную ключевую фразу
В следующем примере извлекаются 25 первых документов, содержащих ключевую фразу Bracket в столбце Document таблицы Production.Document примера базы данных AdventureWorks.
SELECT TOP (25) DOC_TBL.DocumentID, DOC_TBL.DocumentSummary
FROM Production.Document AS DOC_TBL
INNER JOIN SEMANTICKEYPHRASETABLE
(
Production.Document,
Document
) AS KEYP_TBL
ON DOC_TBL.DocumentID = KEYP_TBL.document_key
WHERE KEYP_TBL.keyphrase = 'Bracket'
ORDER BY KEYP_TBL.Score DESC;
GO