Поиск ключевых фраз в документах с использованием семантического поиска
Описывает способ поиска ключевых фраз в документах или текстовых столбцах, настроенных для статистического семантического индексирования.
В этом разделе
Необходимо ...
Поиск ключевых фраз в документах
Как искать ключевые фразы в документах с помощью SEMANTICKEYPHRASETABLE
Пример: Поиск наиболее важных ключевых фраз в определенном документе
Пример: Поиск наиболее важных документов, содержащих определенную ключевую фразу
Поиск ключевых фраз в документах
Как найти ключевые фразы в документах с помощью SEMANTICKEYPHRASETABLE
Для поиска ключевых фраз в определенных документах или для поиска документов, содержащих определенные ключевые фразы, можно запросить функцию semantickeyphrasetable (Transact-SQL).
Функция SEMANTICKEYPHRASETABLE возвращает таблицу с нулем, одной или несколькими строками для ключевых фраз, связанных со столбцами в указанной таблице. На эту функцию набора строк можно ссылаться из предложения FROM инструкции SELECT так же, как и на обычное имя таблицы.
Примечание |
---|
В SQL Server 2012 только отдельные слова индексируются для семантического поиска. Фразы из нескольких слов (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
[В НАЧАЛО]