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


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

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

В этом разделе

Необходимо ...

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

    • Как искать ключевые фразы в документах с помощью 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

[В НАЧАЛО]